You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
#define HTTPREQ_STATE_ANYTHING_OK 0x8000 // for debug purposes
|
|
#define HTTPREQ_STATE_CLOSE_OK 0x4000
|
|
#define HTTPREQ_STATE_ADD_OK 0x2000
|
|
#define HTTPREQ_STATE_SEND_OK 0x1000
|
|
#define HTTPREQ_STATE_READ_OK 0x0800
|
|
#define HTTPREQ_STATE_QUERY_REQUEST_OK 0x0400
|
|
#define HTTPREQ_STATE_QUERY_RESPONSE_OK 0x0200
|
|
#define HTTPREQ_STATE_REUSE_OK 0x0100
|
|
#define HTTPREQ_STATE_WRITE_OK 0x0010
|
|
// Compact into bits used for HTTPREQ_STATE_*
|
|
#define HTTPREQ_FLAG_RECV_RESPONSE_CALLED 0x0020
|
|
|
|
#define HTTPREQ_FLAG_MASK (HTTPREQ_FLAG_RECV_RESPONSE_CALLED)
|
|
|
|
// class HTTP_HEADER_PARSER
|
|
//
|
|
// Retrieves HTTP headers from string containing server response headers.
|
|
//
|
|
|
|
class HTTP_HEADER_PARSER : public HTTP_HEADERS
|
|
{
|
|
public:
|
|
HTTP_HEADER_PARSER(
|
|
LPSTR lpszHeaders,
|
|
DWORD cbHeaders
|
|
);
|
|
|
|
HTTP_HEADER_PARSER()
|
|
: HTTP_HEADERS() {}
|
|
|
|
DWORD
|
|
ParseHeaders(
|
|
IN LPSTR lpHeaderBase,
|
|
IN DWORD dwBufferLength,
|
|
IN BOOL fEof,
|
|
IN OUT DWORD *lpdwBufferLengthScanned,
|
|
OUT LPBOOL pfFoundCompleteLine,
|
|
OUT LPBOOL pfFoundEndOfHeaders
|
|
);
|
|
|
|
DWORD
|
|
ParseStatusLine(
|
|
IN LPSTR lpHeaderBase,
|
|
IN DWORD dwBufferLength,
|
|
IN BOOL fEof,
|
|
IN OUT DWORD *lpdwBufferLengthScanned,
|
|
OUT BOOL *lpfNeedMoreBuffer,
|
|
OUT DWORD *lpdwStatusCode,
|
|
OUT DWORD *lpdwMajorVersion,
|
|
OUT DWORD *lpdwMinorVersion
|
|
);
|
|
|
|
};
|
|
|
|
|