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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
@class OFString;
/** @file */
/**
* @brief The type of an HTTP request.
*/
typedef enum {
/** OPTIONS */
OF_HTTP_REQUEST_METHOD_OPTIONS,
/** GET */
OF_HTTP_REQUEST_METHOD_GET,
/** HEAD */
OF_HTTP_REQUEST_METHOD_HEAD,
/** POST */
OF_HTTP_REQUEST_METHOD_POST,
/** PUT */
OF_HTTP_REQUEST_METHOD_PUT,
/** DELETE */
OF_HTTP_REQUEST_METHOD_DELETE,
/** TRACE */
OF_HTTP_REQUEST_METHOD_TRACE,
/** CONNECT */
OF_HTTP_REQUEST_METHOD_CONNECT
} of_http_request_method_t;
/**
* @struct of_http_request_protocol_version_t \
* OFHTTPRequest.h ObjFW/OFHTTPRequest.h
*
* @brief The HTTP version of the HTTP request.
*/
struct OF_BOXABLE of_http_request_protocol_version_t {
/** The major of the HTTP version */
unsigned char major;
/** The minor of the HTTP version */
unsigned char minor;
};
typedef struct of_http_request_protocol_version_t
of_http_request_protocol_version_t;
/**
* @class OFHTTPRequest OFHTTPRequest.h ObjFW/OFHTTPRequest.h
*
* @brief A class for storing HTTP requests.
*/
@interface OFHTTPRequest: OFObject <OFCopying>
{
OFURL *_URL;
of_http_request_method_t _method;
of_http_request_protocol_version_t _protocolVersion;
OFDictionary OF_GENERIC(OFString *, OFString *) *_Nullable _headers;
OFSocketAddress _remoteAddress;
bool _hasRemoteAddress;
OF_RESERVE_IVARS(OFHTTPRequest, 4)
}
/**
* @brief The URL of the HTTP request.
*/
@property (copy, nonatomic) OFURL *URL;
/**
* @brief The protocol version of the HTTP request.
*/
@property (nonatomic) of_http_request_protocol_version_t protocolVersion;
/**
* @brief The protocol version of the HTTP request as a string.
*/
@property (copy, nonatomic) OFString *protocolVersionString;
/**
* @brief The request method of the HTTP request.
*/
@property (nonatomic) of_http_request_method_t method;
/**
* @brief The headers for the HTTP request.
*/
@property OF_NULLABLE_PROPERTY (copy, nonatomic)
OFDictionary OF_GENERIC(OFString *, OFString *) *headers;
|
|
|
|
|
|
|
|
|
|
|
<
|
|
|
<
|
|
|
|
|
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
@class OFString;
/** @file */
/**
* @brief The type of an HTTP request.
*/
typedef enum OFHTTPRequestMethod {
/** OPTIONS */
OFHTTPRequestMethodOptions,
/** GET */
OFHTTPRequestMethodGet,
/** HEAD */
OFHTTPRequestMethodHead,
/** POST */
OFHTTPRequestMethodPost,
/** PUT */
OFHTTPRequestMethodPut,
/** DELETE */
OFHTTPRequestMethodDelete,
/** TRACE */
OFHTTPRequestMethodTrace,
/** CONNECT */
OFHTTPRequestMethodConnect
} OFHTTPRequestMethod;
/**
* @struct OFHTTPRequestProtocolVersion OFHTTPRequest.h ObjFW/OFHTTPRequest.h
*
* @brief The HTTP version of the HTTP request.
*/
struct OF_BOXABLE OFHTTPRequestProtocolVersion {
/** The major of the HTTP version */
unsigned char major;
/** The minor of the HTTP version */
unsigned char minor;
};
typedef struct OFHTTPRequestProtocolVersion OFHTTPRequestProtocolVersion;
/**
* @class OFHTTPRequest OFHTTPRequest.h ObjFW/OFHTTPRequest.h
*
* @brief A class for storing HTTP requests.
*/
@interface OFHTTPRequest: OFObject <OFCopying>
{
OFURL *_URL;
OFHTTPRequestMethod _method;
OFHTTPRequestProtocolVersion _protocolVersion;
OFDictionary OF_GENERIC(OFString *, OFString *) *_Nullable _headers;
OFSocketAddress _remoteAddress;
bool _hasRemoteAddress;
OF_RESERVE_IVARS(OFHTTPRequest, 4)
}
/**
* @brief The URL of the HTTP request.
*/
@property (copy, nonatomic) OFURL *URL;
/**
* @brief The protocol version of the HTTP request.
*/
@property (nonatomic) OFHTTPRequestProtocolVersion protocolVersion;
/**
* @brief The protocol version of the HTTP request as a string.
*/
@property (copy, nonatomic) OFString *protocolVersionString;
/**
* @brief The request method of the HTTP request.
*/
@property (nonatomic) OFHTTPRequestMethod method;
/**
* @brief The headers for the HTTP request.
*/
@property OF_NULLABLE_PROPERTY (copy, nonatomic)
OFDictionary OF_GENERIC(OFString *, OFString *) *headers;
|
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
#endif
/**
* @brief Returns a C string describing the specified request method.
*
* @param method The request method which should be described as a C string
* @return A C string describing the specified request method
*/
extern const char *_Nullable of_http_request_method_to_string(
of_http_request_method_t method);
/**
* @brief Returns the request method for the specified string.
*
* @param string The string for which the request method should be returned
* @return The request method for the specified string
*/
extern of_http_request_method_t of_http_request_method_from_string(
OFString *string);
#ifdef __cplusplus
}
#endif
OF_ASSUME_NONNULL_END
|
|
|
<
|
|
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
#endif
/**
* @brief Returns a C string describing the specified request method.
*
* @param method The request method which should be described as a C string
* @return A C string describing the specified request method
*/
extern const char *_Nullable OFHTTPRequestMethodName(
OFHTTPRequestMethod method);
/**
* @brief Returns the request method for the specified string.
*
* @param string The string for which the request method should be returned
* @return The request method for the specified string
*/
extern OFHTTPRequestMethod OFHTTPRequestMethodParseName(OFString *string);
#ifdef __cplusplus
}
#endif
OF_ASSUME_NONNULL_END
|