-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathrequest.cpp
More file actions
32 lines (28 loc) · 1.01 KB
/
Copy pathrequest.cpp
File metadata and controls
32 lines (28 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "request.h"
rs::httpserver::NullStream rs::httpserver::Request::nullStream_;
bool rs::httpserver::Request::ShouldClose() {
auto connection = getConnection();
if (boost::iequals(connection, "close")) {
return true;
} else if (IsHttp10() && connection.length() == 0) {
return true;
} else {
return false;
}
}
rs::httpserver::Stream& rs::httpserver::Request::getRequestStream() {
if (request_headers_->IsChunked()) {
return chunkedRequestStream_;
} else if (request_headers_->getContentLength() > 0) {
requestStream_.setLength(request_headers_->getContentLength());
return requestStream_;
} else {
return nullStream_;
}
}
bool rs::httpserver::Request::HasBody() {
auto method = request_headers_->getMethod();
return request_headers_->getContentType().length() > 0 &&
(method == Headers::Put || method == Headers::Post) &&
(request_headers_->IsChunked() || request_headers_->getContentLength() > 0);
}