5 // Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
11 #ifndef HTTP_REQUEST_HANDLER_HPP
12 #define HTTP_REQUEST_HANDLER_HPP
22 /// The common handler for all incoming requests.
26 request_handler(const request_handler&) = delete;
27 request_handler& operator=(const request_handler&) = delete;
29 /// Construct with a directory containing files to be served.
30 explicit request_handler(const std::string& doc_root);
32 /// Handle a request and produce a reply.
33 void handle_request(const request& req, reply& rep);
36 /// The directory containing the files to be served.
37 std::string doc_root_;
39 /// Perform URL-decoding on a string. Returns false if the encoding was
41 static bool url_decode(const std::string& in, std::string& out);
47 #endif // HTTP_REQUEST_HANDLER_HPP