#ifndef NET_TEST_QUIC_SIMPLE_TEST_SERVER_H_
#define NET_TEST_QUIC_SIMPLE_TEST_SERVER_H_
#include <string>
#include <vector>
#include "base/time/time.h"
#include "net/base/host_port_pair.h"
#include "net/third_party/quiche/src/quiche/common/http/http_header_block.h"
#include "url/gurl.h"
namespace net {
class QuicSimpleTestServer {
public:
static bool Start();
static void Shutdown();
static void ShutdownDispatcherForTesting();
static void AddResponse(const std::string& path,
quiche::HttpHeaderBlock response_headers,
const std::string& response_body);
static void AddResponseWithEarlyHints(
const std::string& path,
const quiche::HttpHeaderBlock& response_headers,
const std::string& response_body,
const std::vector<quiche::HttpHeaderBlock>& early_hints);
static void SetResponseDelay(const std::string& path, base::TimeDelta delay);
static std::string const GetDomain();
static std::string const GetHost();
static int GetPort();
static HostPortPair const GetHostPort();
static GURL GetFileURL(const std::string& file_path);
static std::string const GetStatusHeaderName();
static GURL GetHelloURL();
static std::string const GetHelloPath();
static std::string const GetHelloBodyValue();
static std::string const GetHelloStatus();
static std::string const GetHelloHeaderName();
static std::string const GetHelloHeaderValue();
static std::string const GetCombinedHeaderName();
static std::string const GetHelloTrailerName();
static std::string const GetHelloTrailerValue();
static GURL GetSimpleURL();
static std::string const GetSimpleBodyValue();
static std::string const GetSimpleStatus();
static std::string const GetSimpleHeaderName();
static std::string const GetSimpleHeaderValue();
};
}
#endif