https_forwarder.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 CHROME_BROWSER_CHROMEOS_LOGIN_TEST_HTTPS_FORWARDER_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_TEST_HTTPS_FORWARDER_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "net/test/spawned_test_server/local_test_server.h"
11#include "url/gurl.h"
12
13namespace chromeos {
14
15// An https test server that forwards all requests to another server. This
16// allows a server that supports http only to be accessed over https.
17class HTTPSForwarder : public net::LocalTestServer {
18 public:
19  explicit HTTPSForwarder(const GURL& forward_target);
20  virtual ~HTTPSForwarder();
21
22  // net::LocalTestServer:
23  virtual bool SetPythonPath() const OVERRIDE;
24  virtual bool GetTestServerPath(
25      base::FilePath* testserver_path) const OVERRIDE;
26  virtual bool GenerateAdditionalArguments(
27      base::DictionaryValue* arguments) const OVERRIDE;
28
29 private:
30  GURL forward_target_;
31
32  DISALLOW_COPY_AND_ASSIGN(HTTPSForwarder);
33};
34
35}  // namespace chromeos
36
37#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_TEST_HTTPS_FORWARDER_H_
38