Fix compression.
The "Content-Encoding: deflate" header is now added from within the compression routine itself, and _not_ from the "exchange handle". This fixed the bank-lib functions as those do not use any exchange handle, and therefore were wrongly sending compressed bodies without adding the mentioned HTTP header.
This commit is contained in:
parent
8d34b22aff
commit
95933156a6
@ -189,7 +189,6 @@ TALER_BANK_admin_add_incoming (struct GNUNET_CURL_Context *ctx,
|
|||||||
struct TALER_BANK_AdminAddIncomingHandle *aai;
|
struct TALER_BANK_AdminAddIncomingHandle *aai;
|
||||||
json_t *admin_obj;
|
json_t *admin_obj;
|
||||||
CURL *eh;
|
CURL *eh;
|
||||||
struct curl_slist *headers = NULL;
|
|
||||||
|
|
||||||
if (NULL == exchange_base_url)
|
if (NULL == exchange_base_url)
|
||||||
{
|
{
|
||||||
@ -213,11 +212,13 @@ TALER_BANK_admin_add_incoming (struct GNUNET_CURL_Context *ctx,
|
|||||||
aai->cb_cls = res_cb_cls;
|
aai->cb_cls = res_cb_cls;
|
||||||
aai->request_url = TALER_BANK_path_to_url_ (bank_base_url,
|
aai->request_url = TALER_BANK_path_to_url_ (bank_base_url,
|
||||||
"/admin/add/incoming");
|
"/admin/add/incoming");
|
||||||
headers = TALER_BANK_make_auth_header_ (auth);
|
aai->post_ctx.headers = TALER_BANK_make_auth_header_ (auth);
|
||||||
|
|
||||||
|
GNUNET_assert
|
||||||
|
(NULL != (aai->post_ctx.headers = curl_slist_append
|
||||||
|
(aai->post_ctx.headers,
|
||||||
|
"Content-Type: application/json")));
|
||||||
|
|
||||||
GNUNET_assert (NULL !=
|
|
||||||
(headers = curl_slist_append (headers,
|
|
||||||
"Content-Type: application/json")));
|
|
||||||
eh = curl_easy_init ();
|
eh = curl_easy_init ();
|
||||||
|
|
||||||
GNUNET_assert (GNUNET_OK ==
|
GNUNET_assert (GNUNET_OK ==
|
||||||
@ -232,7 +233,7 @@ TALER_BANK_admin_add_incoming (struct GNUNET_CURL_Context *ctx,
|
|||||||
|
|
||||||
aai->job = GNUNET_CURL_job_add2 (ctx,
|
aai->job = GNUNET_CURL_job_add2 (ctx,
|
||||||
eh,
|
eh,
|
||||||
headers,
|
aai->post_ctx.headers,
|
||||||
&handle_admin_add_incoming_finished,
|
&handle_admin_add_incoming_finished,
|
||||||
aai);
|
aai);
|
||||||
return aai;
|
return aai;
|
||||||
|
@ -1784,12 +1784,6 @@ TALER_EXCHANGE_connect
|
|||||||
GNUNET_break (GNUNET_OK ==
|
GNUNET_break (GNUNET_OK ==
|
||||||
GNUNET_CURL_append_header (ctx,
|
GNUNET_CURL_append_header (ctx,
|
||||||
"Expect:"));
|
"Expect:"));
|
||||||
#if COMPRESS_BODIES
|
|
||||||
/* Tell exchange we compress bodies */
|
|
||||||
GNUNET_break (GNUNET_OK ==
|
|
||||||
GNUNET_CURL_append_header (ctx,
|
|
||||||
"Content-Encoding: deflate"));
|
|
||||||
#endif
|
|
||||||
exchange = GNUNET_new (struct TALER_EXCHANGE_Handle);
|
exchange = GNUNET_new (struct TALER_EXCHANGE_Handle);
|
||||||
exchange->ctx = ctx;
|
exchange->ctx = ctx;
|
||||||
exchange->url = GNUNET_strdup (url);
|
exchange->url = GNUNET_strdup (url);
|
||||||
|
@ -78,6 +78,10 @@ TEAH_curl_easy_post (struct TEAH_PostContext *ctx,
|
|||||||
slen = (size_t) cbuf_size;
|
slen = (size_t) cbuf_size;
|
||||||
ctx->json_enc = (char *) cbuf;
|
ctx->json_enc = (char *) cbuf;
|
||||||
}
|
}
|
||||||
|
GNUNET_assert
|
||||||
|
(NULL != (ctx->headers = curl_slist_append
|
||||||
|
(ctx->headers,
|
||||||
|
"Content-Encoding: deflate")));
|
||||||
#else
|
#else
|
||||||
ctx->json_enc = str;
|
ctx->json_enc = str;
|
||||||
#endif
|
#endif
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
/**
|
/**
|
||||||
* Should we compress PUT/POST bodies with 'deflate' encoding?
|
* Should we compress PUT/POST bodies with 'deflate' encoding?
|
||||||
*/
|
*/
|
||||||
#define COMPRESS_BODIES 0
|
#define COMPRESS_BODIES 1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* State used for #TEAL_curl_easy_post() and
|
* State used for #TEAL_curl_easy_post() and
|
||||||
@ -43,6 +43,10 @@ struct TEAH_PostContext
|
|||||||
*/
|
*/
|
||||||
char *json_enc;
|
char *json_enc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom headers.
|
||||||
|
*/
|
||||||
|
struct curl_slist *headers;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user