Page Speed Optimization Libraries
1.8.31.2
|
00001 // Copyright 2010 Google Inc. All Rights Reserved. 00016 00017 #ifndef NET_INSTAWEB_APACHE_HEADER_UTIL_H_ 00018 #define NET_INSTAWEB_APACHE_HEADER_UTIL_H_ 00019 00020 #include <cstddef> 00021 00022 #include "pagespeed/kernel/base/callback.h" 00023 #include "pagespeed/kernel/base/string_util.h" 00024 00025 struct request_rec; 00026 00027 namespace net_instaweb { 00028 00029 class RequestHeaders; 00030 class ResponseHeaders; 00031 00037 typedef Callback2<StringPiece, bool*> HeaderPredicateFn; 00038 00046 void ApacheRequestToRequestHeaders(const request_rec& request, 00047 RequestHeaders* request_headers, 00048 HeaderPredicateFn* predicate); 00049 00051 inline void ApacheRequestToRequestHeaders(const request_rec& request, 00052 RequestHeaders* request_headers) { 00053 return ApacheRequestToRequestHeaders(request, request_headers, NULL); 00054 } 00055 00061 void ApacheRequestToResponseHeaders(const request_rec& request, 00062 ResponseHeaders* headers, 00063 ResponseHeaders* err_headers); 00064 00068 void ResponseHeadersToApacheRequest(const ResponseHeaders& response_headers, 00069 request_rec* request); 00070 00074 void ErrorHeadersToApacheRequest(const ResponseHeaders& err_response_headers, 00075 request_rec* request); 00076 00078 void DisableDownstreamHeaderFilters(request_rec* request); 00079 00081 void PrintHeaders(request_rec* request); 00082 00084 void DisableCachingRelatedHeaders(request_rec* request); 00085 00088 void DisableCacheControlHeader(request_rec* request); 00089 00090 } 00091 00092 #endif ///< NET_INSTAWEB_APACHE_HEADER_UTIL_H_