Page Speed Optimization Libraries  1.13.35.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Enumerations
serf_url_async_fetcher.h File Reference
#include <cstddef>
#include <vector>
#include "apr_network_io.h"
#include "net/instaweb/http/public/url_async_fetcher.h"
#include "pagespeed/kernel/base/basictypes.h"
#include "pagespeed/kernel/base/gtest_prod.h"
#include "pagespeed/kernel/base/pool.h"
#include "pagespeed/kernel/base/pool_element.h"
#include "pagespeed/kernel/base/string.h"
#include "pagespeed/kernel/base/string_util.h"
#include "pagespeed/kernel/base/thread_annotations.h"
#include "pagespeed/kernel/base/thread_system.h"
#include "pagespeed/kernel/http/response_headers_parser.h"
#include "third_party/serf/src/serf.h"

Go to the source code of this file.

Classes

struct  net_instaweb::SerfStats
 
class  net_instaweb::SerfUrlAsyncFetcher
 
class  net_instaweb::SerfFetch
 

Namespaces

 net_instaweb
 Unit-test framework for wget fetcher.
 

Macros

#define SERF_HTTPS_FETCHING   1
 
#define SERF_HTTPS_KEYWORDS
 

Enumerations

enum  SerfCompletionResult { kClientCancel, kSuccess, kFailure }
 

Detailed Description

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

    lsong@google.com (Libo Song)  

Macro Definition Documentation

#define SERF_HTTPS_FETCHING   1

To enable HTTPS fetching with serf, we must link against OpenSSL, which is a a large library with licensing restrictions not known to be wholly inline with the Apache license. To disable HTTPS fetching:

  1. Set SERF_HTTPS_FETCHING to 0 here
  2. Comment out the references to openssl.gyp and ssl_buckets.c in src/third_party/serf/serf.gyp.
  3. Comment out all references to openssl in src/DEPS.

If this is enabled, then the HTTPS fetching can be tested with install/apache_https_fetch_test.sh

#define SERF_HTTPS_KEYWORDS
Value:
"enable,disable,allow_self_signed," \
"allow_unknown_certificate_authority,allow_certificate_not_yet_valid"

Identifies the set of HTML keywords. This is used in error messages emitted both from the config parser in this module, and in the directives table in mod_instaweb.cc which must be statically constructed using a compile-time concatenation. Hence this must be a literal string and not a const char*.