1 // Copyright 2014 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 #ifndef NET_FILTER_MOCK_FILTER_CONTEXT_H_ 6 #define NET_FILTER_MOCK_FILTER_CONTEXT_H_ 7 8 #include <string> 9 10 #include "base/memory/scoped_ptr.h" 11 #include "net/filter/filter.h" 12 #include "url/gurl.h" 13 14 namespace net { 15 16 class URLRequestContext; 17 18 class MockFilterContext : public FilterContext { 19 public: 20 MockFilterContext(); 21 virtual ~MockFilterContext(); 22 23 void SetMimeType(const std::string& mime_type) { mime_type_ = mime_type; } 24 void SetURL(const GURL& gurl) { gurl_ = gurl; } 25 void SetContentDisposition(const std::string& disposition) { 26 content_disposition_ = disposition; 27 } 28 void SetRequestTime(const base::Time time) { request_time_ = time; } 29 void SetCached(bool is_cached) { is_cached_content_ = is_cached; } 30 void SetDownload(bool is_download) { is_download_ = is_download; } 31 void SetResponseCode(int response_code) { response_code_ = response_code; } 32 void SetSdchResponse(bool is_sdch_response) { 33 is_sdch_response_ = is_sdch_response; 34 } 35 URLRequestContext* GetModifiableURLRequestContext() const { 36 return context_.get(); 37 } 38 39 virtual bool GetMimeType(std::string* mime_type) const OVERRIDE; 40 41 // What URL was used to access this data? 42 // Return false if gurl is not present. 43 virtual bool GetURL(GURL* gurl) const OVERRIDE; 44 45 // What Content-Disposition did the server supply for this data? 46 // Return false if Content-Disposition was not present. 47 virtual bool GetContentDisposition(std::string* disposition) const OVERRIDE; 48 49 // What was this data requested from a server? 50 virtual base::Time GetRequestTime() const OVERRIDE; 51 52 // Is data supplied from cache, or fresh across the net? 53 virtual bool IsCachedContent() const OVERRIDE; 54 55 // Is this a download? 56 virtual bool IsDownload() const OVERRIDE; 57 58 // Was this data flagged as a response to a request with an SDCH dictionary? 59 virtual bool IsSdchResponse() const OVERRIDE; 60 61 // How many bytes were fed to filter(s) so far? 62 virtual int64 GetByteReadCount() const OVERRIDE; 63 64 virtual int GetResponseCode() const OVERRIDE; 65 66 // The URLRequestContext associated with the request. 67 virtual const URLRequestContext* GetURLRequestContext() const OVERRIDE; 68 69 virtual void RecordPacketStats(StatisticSelector statistic) const OVERRIDE {} 70 71 private: 72 int buffer_size_; 73 std::string mime_type_; 74 std::string content_disposition_; 75 GURL gurl_; 76 base::Time request_time_; 77 bool is_cached_content_; 78 bool is_download_; 79 bool is_sdch_response_; 80 int response_code_; 81 scoped_ptr<URLRequestContext> context_; 82 83 DISALLOW_COPY_AND_ASSIGN(MockFilterContext); 84 }; 85 86 } // namespace net 87 88 #endif // NET_FILTER_MOCK_FILTER_CONTEXT_H_ 89