export interface Proxy {
    // prx_category	string	Event category	SG-HTTP-SERVICE
    // prx_browser	string	Web browser	Internet Explorer
    // prx_code	string	Error or response code	404
    // prx_referrer	string	Referrer	www.usatoday.com
    // prx_host	string	Requested URI	/wcm/assets/images/imagefileicon.gif
    // prx_filter_rule	string	Applied filter or rule	Internet, Rule 6
    // prx_filter_result	string	Result of applied filter or rule	Proxied, Blocked
    // prx_query	string	URI query	?func=S_senseHTML&Page=a26815a313504697a126279
    // prx_action	string	Action taken on object	TCP_HIT, TCP_MISS, TCP_TUNNELED
    // prx_method	string	HTTP method	GET, CONNECT, POST
    // prx_type	string	Type of request	image/gif
}
