| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef NET_LOG_NET_LOG_CAPTURE_MODE_H_ |
| #define NET_LOG_NET_LOG_CAPTURE_MODE_H_ |
| |
| #include <string> |
| |
| #include "net/base/net_export.h" |
| #include "starboard/types.h" |
| |
| namespace net { |
| |
| // NetLogCaptureMode specifies the granularity of events that should be emitted |
| // to the log. It is a simple wrapper around an integer, so it should be passed |
| // to functions by value rather than by reference. |
| class NET_EXPORT NetLogCaptureMode { |
| public: |
| // NOTE: Default assignment and copy constructor are OK. |
| |
| // The default constructor creates a capture mode equivalent to |
| // Default(). |
| NetLogCaptureMode(); |
| |
| // Constructs a capture mode which logs basic events and event parameters. |
| // include_cookies_and_credentials() --> false |
| // include_socket_bytes() --> false |
| static NetLogCaptureMode Default(); |
| |
| // Constructs a capture mode which logs basic events, and additionally makes |
| // no effort to strip cookies and credentials. |
| // include_cookies_and_credentials() --> true |
| // include_socket_bytes() --> false |
| // TODO(bnc): Consider renaming to IncludePrivacyInfo(). |
| static NetLogCaptureMode IncludeCookiesAndCredentials(); |
| |
| // Constructs a capture mode which logs the data sent/received from sockets. |
| // include_cookies_and_credentials() --> true |
| // include_socket_bytes() --> true |
| static NetLogCaptureMode IncludeSocketBytes(); |
| |
| // If include_cookies_and_credentials() is true , then it is OK to log |
| // events which contain cookies, credentials or other privacy sensitive data. |
| // TODO(bnc): Consider renaming to include_privacy_info(). |
| bool include_cookies_and_credentials() const; |
| |
| // If include_socket_bytes() is true, then it is OK to output the actual |
| // bytes read/written from the network, even if it contains private data. |
| bool include_socket_bytes() const; |
| |
| bool operator==(NetLogCaptureMode mode) const; |
| bool operator!=(NetLogCaptureMode mode) const; |
| |
| private: |
| explicit NetLogCaptureMode(uint32_t value); |
| |
| int32_t value_; |
| }; |
| |
| } // namespace net |
| |
| #endif // NET_LOG_NET_LOG_CAPTURE_MODE_H_ |