Page Speed Optimization Libraries
1.4.26.1
|
00001 // Copyright 2013 Google Inc. 00016 00017 #ifndef NET_INSTAWEB_APACHE_APACHE_WRITER_H_ 00018 #define NET_INSTAWEB_APACHE_APACHE_WRITER_H_ 00019 00020 #include "net/instaweb/util/public/basictypes.h" 00021 #include "net/instaweb/util/public/string_util.h" 00022 #include "net/instaweb/util/public/writer.h" 00023 #include "httpd.h" 00024 00025 struct request_rec; 00026 00027 namespace net_instaweb { 00028 00029 class MessageHandler; 00030 class ResponseHeaders; 00031 00033 class ApacheWriter : public Writer { 00034 public: 00035 explicit ApacheWriter(request_rec* r); 00036 virtual ~ApacheWriter(); 00037 00038 virtual bool Write(const StringPiece& str, MessageHandler* handler); 00039 virtual bool Flush(MessageHandler* handler); 00040 00045 void OutputHeaders(ResponseHeaders* response_headers); 00046 00049 void set_disable_downstream_header_filters(bool x) { 00050 disable_downstream_header_filters_ = x; 00051 } 00052 00055 void set_strip_cookies(bool x) { 00056 strip_cookies_ = x; 00057 } 00058 00059 private: 00060 request_rec* request_; 00061 bool headers_out_; 00062 bool disable_downstream_header_filters_; 00063 bool strip_cookies_; 00064 00065 DISALLOW_COPY_AND_ASSIGN(ApacheWriter); 00066 }; 00067 00068 } 00069 00070 #endif ///< NET_INSTAWEB_APACHE_APACHE_WRITER_H_