1// Copyright (c) 2012 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_TEST_CHROMEDRIVER_NET_NET_UTIL_H_
6#define CHROME_TEST_CHROMEDRIVER_NET_NET_UTIL_H_
7
8#include <string>
9
10class URLRequestContextGetter;
11
12class NetAddress {
13 public:
14  NetAddress();  // Creates an invalid address.
15  explicit NetAddress(int port);  // Host is set to 127.0.0.1.
16  NetAddress(const std::string& host, int port);
17  ~NetAddress();
18
19  bool IsValid() const;
20
21  // Returns host:port.
22  std::string ToString() const;
23
24  const std::string& host() const;
25  int port() const;
26
27 private:
28  std::string host_;
29  int port_;
30};
31
32// Synchronously fetches data from a GET HTTP request to the given URL.
33// Returns true if response is 200 OK and sets response body to |response|.
34bool FetchUrl(const std::string& url,
35              URLRequestContextGetter* getter,
36              std::string* response);
37
38#endif  // CHROME_TEST_CHROMEDRIVER_NET_NET_UTIL_H_
39