forked from awwit/httpserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServerRequest.h
More file actions
53 lines (49 loc) · 2.02 KB
/
ServerRequest.h
File metadata and controls
53 lines (49 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#pragma once
#include "RawData.h"
#include "SocketAdapterTls.h"
#include "FileIncoming.h"
#include <unordered_map>
namespace HttpServer
{
struct server_request
{
const System::native_socket_type socket;
const ::gnutls_session_t tls_session;
const char *method;
const char *uri_reference;
const char *document_root;
const size_t params_count;
const Utils::raw_pair *params;
const size_t headers_count;
const Utils::raw_pair *headers;
const size_t data_count;
const Utils::raw_pair *data;
const size_t files_count;
const Utils::raw_fileinfo *files;
};
/**
* Структура запроса (входные данные)
*
* @member const SocketAdapter &socket - сокет клиента
* @member const std::string method - метод применяемый к ресурсу
* @member const std::string uri_reference - ссылка на ресурс
* @member const std::string document_root - корневая директория приложения
* @member const std::unordered_multimap<std::string, std::string> params - параметры ресурса
* @member const std::unordered_map<std::string, std::string> headers - заголовки запроса
* @member const std::unordered_multimap<std::string, std::string> data - входящие данные запроса
* @member const std::unordered_multimap<std::string, FileIncoming> files - входящие файлы запроса
* @member const std::unordered_multimap<std::string, std::string> cookies - входящие куки запроса
*/
struct ServerRequest
{
const SocketAdapter &socket;
const std::string method;
const std::string uri_reference;
const std::string document_root;
const std::unordered_multimap<std::string, std::string> params;
const std::unordered_map<std::string, std::string> headers;
const std::unordered_multimap<std::string, std::string> data;
const std::unordered_multimap<std::string, FileIncoming> files;
const std::unordered_multimap<std::string, std::string> cookies;
};
};