SpiecsEngine
 
Loading...
Searching...
No Matches
HttpContext.h
Go to the documentation of this file.
1/**
2* @file HttpContext.h.
3* @brief The HttpContext Class Definitions.
4* @author Spices & Muduo.
5*/
6
7#pragma once
8#include "Core/Core.h"
9#include "HttpRequest.h"
10
11namespace Spices {
12
13namespace Net {
14
15 class Buffer;
16
17 /**
18 * @brief Http Context.
19 */
21 {
22 public:
23
25 {
27 ExpectHeaders = 1,
28 ExpectBody = 2,
29 GotAll = 3,
30 };
31
32 public:
33
34 /**
35 * @brief Constructor Function.
36 */
38
39 /**
40 * @brief Destructor Function.
41 */
42 virtual ~HttpContext() = default;
43
44 /**
45 * @brief Get HttpRequest.
46 * @reutrn Returns HttpRequest.
47 */
48 const HttpRequest& GetRequest() { return m_HttpRequest; }
49
50 bool ParseRequest(Buffer* buf);
51
52 /**
53 * @brief Determine if RequestParseState is GotAll.
54 * @return Returns true if RequestParseState is GotAll.
55 */
57
58 void Reset();
59
60 private:
61
62 bool ProcessRequestLine(const char* begin, const char* end);
63
64 private:
65
66 /**
67 * @brief RequestParseState.
68 */
70
71 /**
72 * @brief HttpRequest.
73 */
75 };
76
77}
78
79}
#define SPICES_PROFILE_ZONE
Wrapper of readwrite buffer.
Definition Buffer.h:19
virtual ~HttpContext()=default
Destructor Function.
RequestParseState m_RequestParseState
RequestParseState.
Definition HttpContext.h:69
const HttpRequest & GetRequest()
Get HttpRequest. @reutrn Returns HttpRequest.
Definition HttpContext.h:48
HttpRequest m_HttpRequest
HttpRequest.
Definition HttpContext.h:74
bool GotAll()
Determine if RequestParseState is GotAll.
Definition HttpContext.h:56
bool ProcessRequestLine(const char *begin, const char *end)
HttpContext()
Constructor Function.
Definition HttpContext.h:37
bool ParseRequest(Buffer *buf)
Http Request body.
Definition HttpRequest.h:18