Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(712)

Unified Diff: test_http_server.cc

Issue 3036005: AU: HTTP success is not just 200, but anything in the 2xx range (Closed) Base URL: ssh://git@chromiumos-git/update_engine.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « libcurl_http_fetcher.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test_http_server.cc
diff --git a/test_http_server.cc b/test_http_server.cc
index 9fbe97f5c40d32be8fbc6f9d6a802f603f6711dc..3f6897c918cad0936f9ee74f0f9bc0b5a6e48418 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);
« no previous file with comments | « libcurl_http_fetcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698