14,7 → 14,6 |
// - option to not store parsed data, just raw packets and reparse on demand |
// - implement all others (not 'identity' and 'chunked') transfer- and content- encodings |
// - benchmark one-by-one byte iterator vs. block read |
// - locks for HttpMessage in parser |
namespace TCPproxy |
{ |
public enum BinLogTypes |
1613,12 → 1612,17 |
HttpMessage http = (HttpMessage)httpEnum.Current; |
|
ParseResponse(responsePos, http); |
|
if(http.Response.StatusCode == 100) // "100 (Continue)" response |
|
bool continueResponse = false; |
lock(http) |
{ |
http.GotContinueResponse(); |
ParseResponse(responsePos, http); // once again |
if(http.Response.StatusCode == 100) // "100 (Continue)" response |
{ |
continueResponse = true; |
http.GotContinueResponse(); |
} |
} |
if(continueResponse) ParseResponse(responsePos, http); // once again |
|
http.Response.Complete = true; |
http.UpdateHttpMessage(); |