View Issue Details

IDProjectCategoryView StatusLast Update
0005449Talertwisterpublic2019-12-20 19:12
ReporterMarcello Stanisci Assigned ToMarcello Stanisci  
PrioritynormalSeveritytweakReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.6Fixed in Version0.6 
Summary0005449: Make it compression-aware.
DescriptionThe Twister should be able to handle compressed payloads.

Right now it just discards any compression header it gets from the client.
TagsNo tags attached.

Activities

Christian Grothoff

2018-10-06 16:06

manager   ~0013265

Setting the HTTP header "Accept-Encoding: deflate" should do the trick. CURLOPT_ENCODING docs sugges that it will set that header, so at least in theory this should be the way to do this.

Marcello Stanisci

2018-12-19 16:53

reporter   ~0013426

Okay, but this (as far as I know) tells half of the story. In particular, after the twister gets the (supposedly) deflated content from the service, it is still not able to re-deflate it (via MHD) and return to the client.

What now happens is that the twister returns the non-deflate content to the client but still sets the 'Content-Encoding: deflate' response header, hence making libgnunetcurl complain.

So the question is: how does MHD behave? I grepped 'ACCEPT_ENCODING' and 'Accept-Encoding' through the whole source and I could not find any dedicated line.. This suggests that it ignores a client request for compressed data..

Is that correct?

Christian Grothoff

2018-12-19 18:14

manager   ~0013427

MHD does not process (or set) accept-encoding headers. If the application sets them, the application is responsible for compressing the body correctly.

Marcello Stanisci

2018-12-20 19:59

reporter   ~0013428

fb53910 implements this.

Issue History

Date Modified Username Field Change
2018-09-29 14:16 Marcello Stanisci New Issue
2018-09-29 14:16 Marcello Stanisci Status new => assigned
2018-09-29 14:16 Marcello Stanisci Assigned To => Marcello Stanisci
2018-10-06 16:06 Christian Grothoff Note Added: 0013265
2018-11-18 00:37 Christian Grothoff Severity minor => tweak
2018-11-18 00:37 Christian Grothoff Product Version => git (master)
2018-11-18 00:37 Christian Grothoff Target Version => 0.8
2018-12-19 16:53 Marcello Stanisci Note Added: 0013426
2018-12-19 18:14 Christian Grothoff Note Added: 0013427
2018-12-20 19:59 Marcello Stanisci Status assigned => resolved
2018-12-20 19:59 Marcello Stanisci Resolution open => fixed
2018-12-20 19:59 Marcello Stanisci Note Added: 0013428
2018-12-20 21:36 Christian Grothoff Fixed in Version => 0.6
2018-12-20 21:36 Christian Grothoff Target Version 0.8 => 0.6
2019-12-20 19:12 Christian Grothoff Status resolved => closed