| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- //
- // reply.hpp
- // ~~~~~~~~~
- //
- // Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com)
- //
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- //
- #ifndef EXPERIMENTAL_HTTP_SERVER_HTTP_REPLY_H
- #define EXPERIMENTAL_HTTP_SERVER_HTTP_REPLY_H
- #include <string>
- #include <vector>
- #include <boost/asio.hpp>
- #include "Experimental/http_server/header.h"
- namespace http_server {
- /// A reply to be sent to a client.
- struct reply
- {
- /// The status of the reply.
- enum status_type
- {
- ok = 200,
- created = 201,
- accepted = 202,
- no_content = 204,
- multiple_choices = 300,
- moved_permanently = 301,
- moved_temporarily = 302,
- not_modified = 304,
- bad_request = 400,
- unauthorized = 401,
- forbidden = 403,
- not_found = 404,
- internal_server_error = 500,
- not_implemented = 501,
- bad_gateway = 502,
- service_unavailable = 503
- } status;
- /// The headers to be included in the reply.
- std::vector<header> headers;
- /// The content to be sent in the reply.
- std::string content;
- /// Convert the reply into a vector of buffers. The buffers do not own the
- /// underlying memory blocks, therefore the reply object must remain valid and
- /// not be changed until the write operation has completed.
- std::vector<boost::asio::const_buffer> to_buffers();
- /// Get a stock reply.
- static reply stock_reply(status_type status);
- };
- } // namespace http_server
- #endif // EXPERIMENTAL_HTTP_SERVER_HTTP_REPLY_H
|