1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef NET_HTTP_HTTP_NET_LOG_PARAMS_H_ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define NET_HTTP_HTTP_NET_LOG_PARAMS_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <string> 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/basictypes.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/memory/ref_counted.h" 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/net_log.h" 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/http/http_request_headers.h" 15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass Value; 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace net { 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 20731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass HttpResponseHeaders; 21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass NetLogHttpRequestParameter : public NetLog::EventParameters { 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public: 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch NetLogHttpRequestParameter(const std::string& line, 25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick const HttpRequestHeaders& headers); 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick const HttpRequestHeaders& GetHeaders() const { 28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return headers_; 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 314a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch const std::string& GetLine() const { 324a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch return line_; 334a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch } 344a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // NetLog::EventParameters 3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual Value* ToValue() const; 3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private: 39731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick virtual ~NetLogHttpRequestParameter(); 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string line_; 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch HttpRequestHeaders headers_; 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DISALLOW_COPY_AND_ASSIGN(NetLogHttpRequestParameter); 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass NetLogHttpResponseParameter : public NetLog::EventParameters { 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public: 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch explicit NetLogHttpResponseParameter( 50731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick const scoped_refptr<HttpResponseHeaders>& headers); 51731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 52731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick const HttpResponseHeaders& GetHeaders() const { 53731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return *headers_; 54c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // NetLog::EventParameters 5772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual Value* ToValue() const; 5872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private: 60731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick virtual ~NetLogHttpResponseParameter(); 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 62c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const scoped_refptr<HttpResponseHeaders> headers_; 63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DISALLOW_COPY_AND_ASSIGN(NetLogHttpResponseParameter); 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace net 68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // NET_HTTP_HTTP_NET_LOG_PARAMS_H_ 70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 71