Function

Soupheaders_parse_request

Declaration [src]

guint
soup_headers_parse_request (
  const char* str,
  int len,
  SoupMessageHeaders* req_headers,
  char** req_method,
  char** req_path,
  SoupHTTPVersion* ver
)

Description [src]

Parses the headers of an HTTP request in str and stores the results in req_method, req_path, ver, and req_headers.

Beware that req_headers may be modified even on failure.

Parameters

str

Type: const char*

The headers (up to, but not including, the trailing blank line)

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
len

Type: int

Length of str.

req_headers

Type: SoupMessageHeaders

SoupMessageHeaders to store the header values in.

The data is owned by the caller of the function.
req_method

Type: char**

If non-NULL, will be filled in with the request method.

The argument will be set by the function.
The argument can be NULL.
The called function takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.
req_path

Type: char**

If non-NULL, will be filled in with the request path.

The argument will be set by the function.
The argument can be NULL.
The called function takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.
ver

Type: SoupHTTPVersion

If non-NULL, will be filled in with the HTTP version.

The argument will be set by the function.
The argument can be NULL.
The called function takes ownership of the data, and is responsible for freeing it.

Return value

Type: guint

SOUP_STATUS_OK if the headers could be parsed, or an HTTP error to be returned to the client if they could not be.