Page Speed Optimization Libraries  1.4.26.1
net/instaweb/apache/apache_writer.h
Go to the documentation of this file.
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_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines