cppmicroservices-httpservice - Man Page
Name
cppmicroservices-httpservice ā CppMicroServices Http Service API
These classes are the main API to the HttpService bundle
WARNING:
The Http Service API is not final and may be incomplete. It also may change between minor releases without backwards compatibility guarantees.
Httpservlet
- class HttpServlet : public std::enable_shared_from_this<HttpServlet>
Subclassed by cppmicroservices::AbstractWebConsolePlugin
Public Functions
HttpServlet()
- virtual void Init(ServletConfig const &config)
Called by the servlet container to indicate to a servlet that the servlet is being placed into service.
The servlet container calls the Init method exactly once after instantiating the servlet. The Init method must complete successfully before the servlet can receive any requests.
The servlet container cannot place the servlet into service if the Init method .INDENT 7.0
- i.
Throws a ServletException
- ii.
Does not return within a time period defined by the Web server
- SEE ALSO:
UnavailableException
- SEE ALSO:
GetServletConfig
- Parameters
config -- a ServletConfig object containing the servlet's configuration and initialization parameters
- Throws
ServletException -- if an exception has occurred that interferes with the servlet's normal operation
- virtual void Destroy()
Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
This method is only called once all threads within the servlet's service method have exited or after a timeout period has passed. After the servlet container calls this method, it will not call the service method again on this servlet.
This method gives the servlet an opportunity to clean up any resources that are being held (for example, memory, file handles, threads) and make sure that any persistent state is synchronized with the servlet's current state in memory.
- ServletConfig GetServletConfig() const
Returns a ServletConfig object, which contains initialization and startup parameters for this servlet.
The ServletConfig object returned is the one passed to the Init method.
- SEE ALSO:
Init
- Returns
the ServletConfig object that initializes this servlet
virtual void Service(HttpServletRequest &request, HttpServletResponse &response)
std::shared_ptr<ServletContext> GetServletContext() const
virtual ~HttpServlet()
Public Static Attributes
static const std::string PROP_CONTEXT_ROOT
Protected Functions
virtual long long GetLastModified(HttpServletRequest &request)
virtual void DoGet(HttpServletRequest &request, HttpServletResponse &response)
virtual void DoHead(HttpServletRequest &request, HttpServletResponse &response)
virtual void DoDelete(HttpServletRequest &request, HttpServletResponse &response)
virtual void DoPost(HttpServletRequest &request, HttpServletResponse &response)
virtual void DoPut(HttpServletRequest &request, HttpServletResponse &response)
virtual void DoTrace(HttpServletRequest &request, HttpServletResponse &response)
std::unique_lock<std::mutex> Lock() const
Httpservletrequest
- class HttpServletRequest
Public Functions
~HttpServletRequest()
HttpServletRequest(HttpServletRequest const &o)
HttpServletRequest &operator=(HttpServletRequest const &o)
std::shared_ptr<ServletContext> GetServletContext() const
Any GetAttribute(std::string const &name) const
std::vector<std::string> GetAttributeNames() const
std::size_t GetContentLength() const
std::string GetContentType() const
std::string GetLocalName() const
std::string GetRemoteHost() const
int GetLocalPort() const
int GetRemotePort() const
std::string GetScheme() const
std::string GetServerName() const
int GetServerPort() const
std::string GetProtocol() const
std::string GetContextPath() const
std::string GetPathInfo() const
std::string GetRequestUri() const
std::string GetRequestUrl() const
std::string GetServletPath() const
std::string GetQueryString() const
std::string GetHeader(std::string const &name) const
long long GetDateHeader(std::string const &name) const
std::vector<std::string> GetHeaderNames() const
std::vector<std::string> GetHeaders(std::string const &name) const
std::string GetMethod() const
std::vector<std::pair<std::string, float>> GetAcceptHeader() const
void RemoveAttribute(std::string const &name)
void SetAttribute(std::string const &name, Any const &value)
Httpservletresponse
- class HttpServletResponse
Public Functions
virtual ~HttpServletResponse()
HttpServletResponse(HttpServletResponse const &o)
HttpServletResponse &operator=(HttpServletResponse const &o)
void FlushBuffer()
bool IsCommitted() const
std::size_t GetBufferSize() const
std::string GetCharacterEncoding() const
std::string GetContentType() const
std::ostream &GetOutputStream()
void Reset()
void ResetBuffer()
void SetBufferSize(std::size_t size)
void SetCharacterEncoding(std::string const &charset)
void SetContentLength(std::size_t size)
void SetContentType(std::string const &type)
void AddHeader(std::string const &name, std::string const &value)
void SetHeader(std::string const &name, std::string const &value)
void SetDateHeader(std::string const &name, long long date)
void AddIntHeader(std::string const &name, int value)
void SetIntHeader(std::string const &name, int value)
bool ContainsHeader(std::string const &name) const
std::string GetHeader(std::string const &name) const
int GetStatus() const
void SetStatus(int statusCode)
void SendError(int statusCode, std::string const &msg = std::string())
void SendRedirect(std::string const &location)
Public Static Attributes
- static int const SC_CONTINUE
Status code (100) indicating the client can continue.
- static int const SC_SWITCHING_PROTOCOLS
Status code (101) indicating the server is switching protocols according to Upgrade header.
- static int const SC_OK
Status code (200) indicating the request succeeded normally.
- static int const SC_CREATED
Status code (201) indicating the request succeeded and created a new resource on the server.
- static int const SC_ACCEPTED
Status code (202) indicating that a request was accepted for processing, but was not completed.
- static int const SC_NON_AUTHORITATIVE_INFORMATION
Status code (203) indicating that the meta information presented by the client did not originate from the server.
- static int const SC_NO_CONTENT
Status code (204) indicating that the request succeeded but that there was no new information to return.
- static int const SC_RESET_CONTENT
Status code (205) indicating that the agent SHOULD reset the document view which caused the request to be sent.
- static int const SC_PARTIAL_CONTENT
Status code (206) indicating that the server has fulfilled the partial GET request for the resource.
- static int const SC_MULTIPLE_CHOICES
Status code (300) indicating that the requested resource corresponds to any one of a set of representations, each with its own specific location.
- static int const SC_MOVED_PERMANENTLY
Status code (301) indicating that the resource has permanently moved to a new location, and that future references should use a new URI with their requests.
- static int const SC_FOUND
Status code (302) indicating that the resource reside temporarily under a different URI.
- static int const SC_MOVED_TEMPORARILY
Status code (302) indicating that the resource has temporarily moved to another location, but that future references should still use the original URI to access the resource.
- static int const SC_SEE_OTHER
Status code (303) indicating that the response to the request can be found under a different URI.
- static int const SC_NOT_MODIFIED
Status code (304) indicating that a conditional GET operation found that the resource was available and not modified.
- static int const SC_USE_PROXY
Status code (305) indicating that the requested resource MUST be accessed through the proxy given by the Location field.
- static int const SC_TEMPORARY_REDIRECT
Status code (307) indicating that the requested resource resides temporarily under a different URI.
- static int const SC_BAD_REQUEST
Status code (400) indicating the request sent by the client was syntactically incorrect.
- static int const SC_UNAUTHORIZED
Status code (401) indicating that the request requires HTTP authentication.
- static int const SC_PAYMENT_REQUIRED
Status code (402) reserved for future use.
- static int const SC_FORBIDDEN
Status code (403) indicating the server understood the request but refused to fulfill it.
- static int const SC_NOT_FOUND
Status code (404) indicating that the requested resource is not available.
- static int const SC_METHOD_NOT_ALLOWED
Status code (405) indicating that the method specified in the Request-Line is not allowed for the resource identified by the Request-URI.
- static int const SC_NOT_ACCEPTABLE
Status code (406) indicating that the resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
- static int const SC_PROXY_AUTHENTICATION_REQUIRED
Status code (407) indicating that the client MUST first authenticate itself with the proxy.
- static int const SC_REQUEST_TIMEOUT
Status code (408) indicating that the client did not produce a request within the time that the server was prepared to wait.
- static int const SC_CONFLICT
Status code (409) indicating that the request could not be completed due to a conflict with the current state of the resource.
- static int const SC_GONE
Status code (410) indicating that the resource is no longer available at the server and no forwarding address is known.
- static int const SC_LENGTH_REQUIRED
Status code (411) indicating that the request cannot be handled without a defined Content-Length.
- static int const SC_PRECONDITION_FAILED
Status code (412) indicating that the precondition given in one or more of the request-header fields evaluated to false when it was tested on the server.
- static int const SC_REQUEST_ENTITY_TOO_LARGE
Status code (413) indicating that the server is refusing to process the request because the request entity is larger than the server is willing or able to process.
- static int const SC_REQUEST_URI_TOO_LONG
Status code (414) indicating that the server is refusing to service the request because the Request-URI is longer than the server is willing to interpret.
- static int const SC_UNSUPPORTED_MEDIA_TYPE
Status code (415) indicating that the server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.
- static int const SC_REQUESTED_RANGE_NOT_SATISFIABLE
Status code (416) indicating that the server cannot serve the requested byte range.
- static int const SC_EXPECTATION_FAILED
Status code (417) indicating that the server could not meet the expectation given in the Expect request header.
- static int const SC_INTERNAL_SERVER_ERROR
Status code (500) indicating an error inside the HTTP server which prevented it from fulfilling the request.
- static int const SC_NOT_IMPLEMENTED
Status code (501) indicating the HTTP server does not support the functionality needed to fulfill the request.
- static int const SC_BAD_GATEWAY
Status code (502) indicating that the HTTP server received an invalid response from a server it consulted when acting as a proxy or gateway.
- static int const SC_SERVICE_UNAVAILABLE
Status code (503) indicating that the HTTP server is temporarily overloaded, and unable to handle the request.
- static int const SC_GATEWAY_TIMEOUT
Status code (504) indicating that the server did not receive a timely response from the upstream server while acting as a gateway or proxy.
- static int const SC_HTTP_VERSION_NOT_SUPPORTED
Status code (505) indicating that the server does not support or refuses to support the HTTP protocol version that was used in the request message.
Protected Functions
HttpServletResponse(HttpServletResponsePrivate *d)
virtual std::streambuf *GetOutputStreamBuffer()
void SetOutputStreamBuffer(std::streambuf *sb)
Protected Attributes
HttpServletResponsePrivate *d
Servletconfig
- class ServletConfig
A servlet configuration object used by a servlet container to pass information to a servlet during initialization.
Public Functions
ServletConfig()
ServletConfig(ServletConfig const &other)
ServletConfig &operator=(ServletConfig const &other)
virtual ~ServletConfig()
- std::string GetServletName() const
Returns the name of this servlet instance.
The name may be provided via server administration, assigned in the web application deployment descriptor, or for an unregistered (and thus unnamed) servlet instance it will be the servlet's class name.
- Returns
the name of the servlet instance
- std::shared_ptr<ServletContext> GetServletContext() const
Returns a reference to the ServletContext in which the caller is executing.
- SEE ALSO:
ServletContext
- Returns
a ServletContext object, used by the caller to interact with its servlet container
Protected Functions
void SetServletName(std::string const &name)
void SetServletContext(std::shared_ptr<ServletContext> const &context)
Servletcontainer
- class ServletContainer
Public Functions
ServletContainer(BundleContext bundleCtx, std::string const &contextPath = std::string())
~ServletContainer()
void SetContextPath(std::string const &contextPath)
std::string GetContextPath() const
void Start()
void Stop()
std::shared_ptr<ServletContext> GetContext(std::string const &uripath) const
std::string GetContextPath(ServletContext const *context) const
Servletcontext
- class ServletContext
Public Functions
std::string GetContextPath() const
std::shared_ptr<ServletContext> GetContext(std::string const &uripath)
std::string GetMimeType(std::string const &file) const
Author
CppMicroServices Team
Copyright
2017-2023, CppMicroServices Contributors