Add HTTP/1.1 chunked response and allow stream and callback responses to not have content length

ContentLength and ContentType have setters (before you send the
response)
This commit is contained in:
Me No Dev
2016-01-27 18:46:49 +02:00
parent 4a5f64de03
commit 9296156ab5
4 changed files with 114 additions and 22 deletions

View File

@@ -25,6 +25,7 @@ AsyncWebServerRequest::AsyncWebServerRequest(AsyncWebServer* s, AsyncClient* c)
, _interestingHeaders(new StringArray())
, _temp()
, _parseState(0)
, _version(0)
, _method(HTTP_ANY)
, _url()
, _host()
@@ -229,6 +230,9 @@ bool AsyncWebServerRequest::_parseReqHead(){
}
}
_temp = _temp.substring(_temp.indexOf(' ')+1);
if(_temp.startsWith("HTTP/1.1"))
_version = 1;
_temp = String();
return true;
}
@@ -620,6 +624,12 @@ AsyncWebServerResponse * AsyncWebServerRequest::beginResponse(String contentType
return new AsyncCallbackResponse(contentType, len, callback);
}
AsyncWebServerResponse * AsyncWebServerRequest::beginChunkedResponse(String contentType, AwsResponseFiller callback){
if(_version)
return new AsyncChunkedResponse(contentType, callback);
return new AsyncCallbackResponse(contentType, 0, callback);
}
AsyncResponseStream * AsyncWebServerRequest::beginResponseStream(String contentType, size_t len, size_t bufferSize){
return new AsyncResponseStream(contentType, len, bufferSize);
}