diff options
Diffstat (limited to 'net/tools/quic/quic_in_memory_cache.h')
-rw-r--r-- | net/tools/quic/quic_in_memory_cache.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/net/tools/quic/quic_in_memory_cache.h b/net/tools/quic/quic_in_memory_cache.h index 3be25a6..be091d5 100644 --- a/net/tools/quic/quic_in_memory_cache.h +++ b/net/tools/quic/quic_in_memory_cache.h @@ -32,12 +32,19 @@ class QuicServer; // `wget -p --save_headers <url>` class QuicInMemoryCache { public: + enum SpecialResponseType { + REGULAR_RESPONSE, // Send the headers and body like a server should. + CLOSE_CONNECTION, // Close the connection (sending the close packet). + IGNORE_REQUEST, // Do nothing, expect the client to time out. + }; + // Container for response header/body pairs. class Response { public: - Response() {} + Response() : response_type_(REGULAR_RESPONSE) {} ~Response() {} + const SpecialResponseType response_type() const { return response_type_; } const BalsaHeaders& headers() const { return headers_; } const base::StringPiece body() const { return base::StringPiece(body_); } @@ -51,6 +58,7 @@ class QuicInMemoryCache { body.CopyToString(&body_); } + SpecialResponseType response_type_; BalsaHeaders headers_; std::string body_; @@ -79,6 +87,12 @@ class QuicInMemoryCache { const BalsaHeaders& response_headers, base::StringPiece response_body); + // Simulate a special behavior at a particular path. + void AddSpecialResponse(base::StringPiece method, + base::StringPiece path, + base::StringPiece version, + SpecialResponseType response_type); + private: typedef base::hash_map<std::string, Response*> ResponseMap; friend struct DefaultSingletonTraits<QuicInMemoryCache>; |