be more precise about encoding HTTP bodies
This commit is contained in:
parent
f346e89ceb
commit
1c3e787243
@ -1496,10 +1496,11 @@ TEH_KS_handler_keys (struct TEH_RequestHandler *rh,
|
|||||||
MHD_add_response_header (response,
|
MHD_add_response_header (response,
|
||||||
MHD_HTTP_HEADER_CONTENT_TYPE,
|
MHD_HTTP_HEADER_CONTENT_TYPE,
|
||||||
rh->mime_type));
|
rh->mime_type));
|
||||||
if (MHD_YES !=
|
if ( (MHD_YES == comp) &&
|
||||||
MHD_add_response_header (response,
|
(MHD_YES !=
|
||||||
MHD_HTTP_HEADER_CONTENT_ENCODING,
|
MHD_add_response_header (response,
|
||||||
"deflate"))
|
MHD_HTTP_HEADER_CONTENT_ENCODING,
|
||||||
|
"deflate")) )
|
||||||
{
|
{
|
||||||
GNUNET_break (0);
|
GNUNET_break (0);
|
||||||
MHD_destroy_response (response);
|
MHD_destroy_response (response);
|
||||||
|
@ -53,6 +53,11 @@ TEH_RESPONSE_add_global_headers (struct MHD_Response *response)
|
|||||||
*
|
*
|
||||||
* @param connection connection to check
|
* @param connection connection to check
|
||||||
* @return #MHD_YES if 'deflate' compression is allowed
|
* @return #MHD_YES if 'deflate' compression is allowed
|
||||||
|
*
|
||||||
|
* Note that right now we're ignoring q-values, which is technically
|
||||||
|
* not correct, and also do not support "*" anywhere but in a line by
|
||||||
|
* itself. This should eventually be fixed, see also
|
||||||
|
* https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
TEH_RESPONSE_can_compress (struct MHD_Connection *connection)
|
TEH_RESPONSE_can_compress (struct MHD_Connection *connection)
|
||||||
@ -69,11 +74,15 @@ TEH_RESPONSE_can_compress (struct MHD_Connection *connection)
|
|||||||
"deflate");
|
"deflate");
|
||||||
if (NULL == de)
|
if (NULL == de)
|
||||||
return MHD_NO;
|
return MHD_NO;
|
||||||
|
if (0 == strcmp (de,
|
||||||
|
"*"))
|
||||||
|
return MHD_YES;
|
||||||
if ( ( (de == ae) ||
|
if ( ( (de == ae) ||
|
||||||
( de[-1] == ',') ||
|
( de[-1] == ',') ||
|
||||||
(de[-1] == ' ') ) &&
|
(de[-1] == ' ') ) &&
|
||||||
( (de[strlen ("deflate")] == '\0') ||
|
( (de[strlen ("deflate")] == '\0') ||
|
||||||
(de[strlen ("deflate")] == ',') ) )
|
(de[strlen ("deflate")] == ',') ||
|
||||||
|
(de[strlen ("deflate")] == ';') ) )
|
||||||
return MHD_YES;
|
return MHD_YES;
|
||||||
return MHD_NO;
|
return MHD_NO;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user