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;
|
||||
json_t *admin_obj;
|
||||
CURL *eh;
|
||||
struct curl_slist *headers = NULL;
|
||||
|
||||
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->request_url = TALER_BANK_path_to_url_ (bank_base_url,
|
||||
"/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 ();
|
||||
|
||||
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,
|
||||
eh,
|
||||
headers,
|
||||
aai->post_ctx.headers,
|
||||
&handle_admin_add_incoming_finished,
|
||||
aai);
|
||||
return aai;
|
||||
|
@ -1784,12 +1784,6 @@ TALER_EXCHANGE_connect
|
||||
GNUNET_break (GNUNET_OK ==
|
||||
GNUNET_CURL_append_header (ctx,
|
||||
"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->ctx = ctx;
|
||||
exchange->url = GNUNET_strdup (url);
|
||||
|
@ -78,6 +78,10 @@ TEAH_curl_easy_post (struct TEAH_PostContext *ctx,
|
||||
slen = (size_t) cbuf_size;
|
||||
ctx->json_enc = (char *) cbuf;
|
||||
}
|
||||
GNUNET_assert
|
||||
(NULL != (ctx->headers = curl_slist_append
|
||||
(ctx->headers,
|
||||
"Content-Encoding: deflate")));
|
||||
#else
|
||||
ctx->json_enc = str;
|
||||
#endif
|
||||
|
@ -30,7 +30,7 @@
|
||||
/**
|
||||
* 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
|
||||
@ -43,6 +43,10 @@ struct TEAH_PostContext
|
||||
*/
|
||||
char *json_enc;
|
||||
|
||||
/**
|
||||
* Custom headers.
|
||||
*/
|
||||
struct curl_slist *headers;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user