diff options
author | Andrew de los Reyes <adlr@chromium.org> | 2010-07-19 10:43:46 -0700 |
---|---|---|
committer | Andrew de los Reyes <adlr@chromium.org> | 2010-07-19 10:43:46 -0700 |
commit | fb4ad7d5e8c5946fc475f3ee289b38287f015326 (patch) | |
tree | 49abfa45476954d157749b5c18943a61adb9ca74 /test_http_server.cc | |
parent | 8c2980e8b973a21468c9fece0490cd440afc0660 (diff) |
AU: HTTP success is not just 200, but anything in the 2xx range
BUG=None
TEST=attached unittest
Review URL: http://codereview.chromium.org/3036005
Diffstat (limited to 'test_http_server.cc')
-rw-r--r-- | test_http_server.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/test_http_server.cc b/test_http_server.cc index 9fbe97f5..3f6897c9 100644 --- a/test_http_server.cc +++ b/test_http_server.cc @@ -31,8 +31,10 @@ using std::vector; namespace chromeos_update_engine { struct HttpRequest { + HttpRequest() : offset(0), return_code(200) {} string url; off_t offset; + int return_code; }; namespace { @@ -76,6 +78,7 @@ bool ParseRequest(int fd, HttpRequest* request) { LOG(INFO) << "Range: " << range_header; CHECK(*range_header.rbegin() == '-'); request->offset = atoll(range_header.c_str() + strlen("bytes=")); + request->return_code = 206; // Success for Range: request LOG(INFO) << "Offset: " << request->offset; } request->url = url; @@ -104,9 +107,9 @@ string Itoa(off_t num) { } void WriteHeaders(int fd, bool support_range, off_t full_size, - off_t start_offset) { + off_t start_offset, int return_code) { LOG(INFO) << "writing headers"; - WriteString(fd, "HTTP/1.1 200 OK\r\n"); + WriteString(fd, string("HTTP/1.1 ") + Itoa(return_code) + " OK\r\n"); WriteString(fd, "Content-Type: application/octet-stream\r\n"); if (support_range) { WriteString(fd, "Accept-Ranges: bytes\r\n"); @@ -121,13 +124,13 @@ void WriteHeaders(int fd, bool support_range, off_t full_size, } void HandleQuitQuitQuit(int fd) { - WriteHeaders(fd, true, 0, 0); + WriteHeaders(fd, true, 0, 0, 200); exit(0); } void HandleBig(int fd, const HttpRequest& request) { const off_t full_length = kBigLength; - WriteHeaders(fd, true, full_length, request.offset); + WriteHeaders(fd, true, full_length, request.offset, request.return_code); const off_t content_length = full_length - request.offset; int i = request.offset; for (; i % 10; i++) @@ -143,7 +146,7 @@ void HandleBig(int fd, const HttpRequest& request) { // (technically, when (offset % (9000 * 7)) == 0). void HandleFlaky(int fd, const HttpRequest& request) { const off_t full_length = kBigLength; - WriteHeaders(fd, true, full_length, request.offset); + WriteHeaders(fd, true, full_length, request.offset, request.return_code); const off_t content_length = min(static_cast<off_t>(9000), full_length - request.offset); const bool should_sleep = (request.offset % (9000 * 7)) == 0; @@ -172,7 +175,7 @@ void HandleFlaky(int fd, const HttpRequest& request) { void HandleDefault(int fd, const HttpRequest& request) { const string data("unhandled path"); - WriteHeaders(fd, true, data.size(), request.offset); + WriteHeaders(fd, true, data.size(), request.offset, request.return_code); const string data_to_write(data.substr(request.offset, data.size() - request.offset)); WriteString(fd, data_to_write); |