1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/tools/fetch/http_session.h" 6 #include "net/tools/fetch/http_server_response_info.h" 7 HttpSession(const std::string & ip,int port)8HttpSession::HttpSession(const std::string& ip, int port) 9 : ALLOW_THIS_IN_INITIALIZER_LIST( 10 socket_(HttpListenSocket::Listen(ip, port, this))) { 11 } 12 ~HttpSession()13HttpSession::~HttpSession() { 14 } 15 OnRequest(HttpListenSocket * connection,HttpServerRequestInfo * info)16void HttpSession::OnRequest(HttpListenSocket* connection, 17 HttpServerRequestInfo* info) { 18 // TODO(mbelshe): Make this function more interesting. 19 20 // Generate a 10KB sequence of data. 21 static std::string data; 22 if (data.length() == 0) { 23 while (data.length() < (10 * 1024)) 24 data += 'a' + (rand() % 26); 25 } 26 27 HttpServerResponseInfo response_info; 28 response_info.protocol = "HTTP/1.1"; 29 response_info.status = 200; 30 response_info.content_type = "text/plain"; 31 response_info.content_length = data.length(); 32 33 connection->Respond(&response_info, data); 34 } 35