Attachment 'gzip_ecap_extended_compressible_types_v1_6.patch'

Download

   1 --- src/adapter_gzip.cc		Tue Jun 21 03:20:48 2016
   2 +++ src/adapter_gzip.cc		Tue Jun 21 03:24:34 2016
   3 @@ -367,7 +367,6 @@
   4  
   5  	/**
   6  	 * Checks the Content-Type response header.
   7 -	 * At this time, only responses with "text/html" content-type are allowed to be compressed.
   8  	 */
   9  	static const libecap::Name contentTypeName("Content-Type");
  10  	
  11 @@ -376,13 +375,27 @@
  12  
  13  	if(adapted->header().hasAny(contentTypeName)) {
  14  		const libecap::Header::Value contentType = adapted->header().value(contentTypeName);
  15 -		
  16 +
  17 +		std::string contentTypeType; // store contenttype substr		
  18 +
  19  		if(contentType.size > 0) {
  20  			std::string contentTypeString = contentType.toString(); // expensive
  21 -			
  22 -			if(strstr(contentTypeString.c_str(),"text/html")) {
  23 +			contentTypeType = contentTypeString.substr(0,4);			
  24 +			if(strstr(contentTypeType.c_str(),"text")) {
  25  				this->requirements.responseContentTypeOk = true;
  26  			}
  27 +			else if(strstr(contentTypeString.c_str(),"application/xml")) {
  28 +				this->requirements.responseContentTypeOk = true;
  29 +			}
  30 +			else if(strstr(contentTypeString.c_str(),"application/javascript")) {
  31 +				this->requirements.responseContentTypeOk = true;
  32 +			}
  33 +			else if(strstr(contentTypeString.c_str(),"application/x-javascript")) {
  34 +				this->requirements.responseContentTypeOk = true;
  35 +			}
  36 +			else if(strstr(contentTypeString.c_str(),"application/x-protobuffer")) {
  37 +				this->requirements.responseContentTypeOk = true;
  38 +			}
  39  		}
  40  	}
  41  
  42 @@ -410,7 +423,7 @@
  43  	adapted->header().add(name, value);
  44  	
  45  
  46 -	// Add "Vary: Accept-Encoding" response header if Content-Type is "text/html"
  47 +	// Add "Vary: Accept-Encoding" response header if Content-Type is supported type
  48  	if(requirements.responseContentTypeOk) {
  49  		static const libecap::Name varyName("Vary");
  50  		const libecap::Header::Value varyValue = libecap::Area::FromTempString("Accept-Encoding");

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2016-06-08 18:00:06, 1.4 KB) [[attachment:gzip_ecap_extended_compressible_types.patch]]
  • [get | view] (2016-06-11 20:37:49, 1.6 KB) [[attachment:gzip_ecap_extended_compressible_types_latest.patch]]
  • [get | view] (2016-06-08 21:13:39, 1.4 KB) [[attachment:gzip_ecap_extended_compressible_types_v1.patch]]
  • [get | view] (2016-06-09 12:19:51, 1.6 KB) [[attachment:gzip_ecap_extended_compressible_types_v1_2.patch]]
  • [get | view] (2016-06-11 20:31:49, 1.6 KB) [[attachment:gzip_ecap_extended_compressible_types_v1_2.patch.latest]]
  • [get | view] (2016-06-12 14:51:20, 1.9 KB) [[attachment:gzip_ecap_extended_compressible_types_v1_3.patch]]
  • [get | view] (2016-06-20 20:35:35, 1.2 KB) [[attachment:gzip_ecap_extended_compressible_types_v1_4.patch]]
  • [get | view] (2016-06-20 20:50:23, 2.1 KB) [[attachment:gzip_ecap_extended_compressible_types_v1_5.patch]]
  • [get | view] (2016-06-20 21:26:21, 1.8 KB) [[attachment:gzip_ecap_extended_compressible_types_v1_6.patch]]
  • [get | view] (2016-06-18 16:44:11, 0.8 KB) [[attachment:gzip_ecap_vb_stop_on_done_v1.patch]]
  • [get | view] (2016-06-08 17:56:50, 1.4 KB) [[attachment:gzip_exap_extended_compressible_types.patch]]
  • [get | view] (2015-03-29 19:40:02, 1.5 KB) [[attachment:squid-ecap-gzip_all_text_compressed.patch]]
  • [get | view] (2015-03-29 19:35:49, 8.5 KB) [[attachment:squid-ecap-gzip_up_to_libecap-0.2.0.patch]]
  • [get | view] (2015-03-29 19:35:56, 9.2 KB) [[attachment:squid-ecap-gzip_up_to_libecap-1.0.0.patch]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.