diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-11 09:44:41 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-11 09:44:41 +0000 |
commit | e67d2179178b955a07df2c908d8c49a26fb0e71d (patch) | |
tree | c7f1113691da747da61a7e76b5574d25ba2afebf /net/server/http_connection.cc | |
parent | a942b8c1ca4b002376306cf399e000d0842c630b (diff) | |
download | chromium_src-e67d2179178b955a07df2c908d8c49a26fb0e71d.zip chromium_src-e67d2179178b955a07df2c908d8c49a26fb0e71d.tar.gz chromium_src-e67d2179178b955a07df2c908d8c49a26fb0e71d.tar.bz2 |
DevTools: add /json/activate/ command to the discovery protocol.
This change adds suppot for /activate command and refactors the json commands handling so that all commands supported jsonp properly. For the jsonp support, we always respond with 200 OK and specify the actual code in the jsonp call parameter.
For the above purposes, migrates net/server/http_server from Send404() scheme to Send(net::HTTP_NOT_FOUND).
BUG=157495
Review URL: https://chromiumcodereview.appspot.com/11499004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172285 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/server/http_connection.cc')
-rw-r--r-- | net/server/http_connection.cc | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/net/server/http_connection.cc b/net/server/http_connection.cc index d601f34..e82c9fe 100644 --- a/net/server/http_connection.cc +++ b/net/server/http_connection.cc @@ -26,42 +26,40 @@ void HttpConnection::Send(const char* bytes, int len) { socket_->Send(bytes, len); } -void HttpConnection::Send200(const std::string& data, - const std::string& content_type) { +void HttpConnection::Send(HttpStatusCode status_code, + const std::string& data, + const std::string& content_type) { if (!socket_) return; + + std::string status_message; + switch (status_code) { + case HTTP_OK: + status_message = "OK"; + break; + case HTTP_NOT_FOUND: + status_message = "Not Found"; + break; + case HTTP_INTERNAL_SERVER_ERROR: + status_message = "Internal Error"; + break; + default: + status_message = ""; + break; + } + socket_->Send(base::StringPrintf( - "HTTP/1.1 200 OK\r\n" + "HTTP/1.1 %d %s\r\n" "Content-Type:%s\r\n" "Content-Length:%d\r\n" "\r\n", + status_code, + status_message.c_str(), content_type.c_str(), static_cast<int>(data.length()))); socket_->Send(data); } -void HttpConnection::Send404() { - if (!socket_) - return; - socket_->Send( - "HTTP/1.1 404 Not Found\r\n" - "Content-Length: 0\r\n" - "\r\n"); -} - -void HttpConnection::Send500(const std::string& message) { - if (!socket_) - return; - socket_->Send(base::StringPrintf( - "HTTP/1.1 500 Internal Error\r\n" - "Content-Type:text/html\r\n" - "Content-Length:%d\r\n" - "\r\n" - "%s", - static_cast<int>(message.length()), - message.c_str())); -} - HttpConnection::HttpConnection(HttpServer* server, StreamListenSocket* sock) : server_(server), socket_(sock) { |