Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

Response Handling
[Dynamic page interfaces]


Functions

int response_set_content_encoding (response_t *rs, const char *encoding)
 Set response content encoding field.
int response_disable_caching (response_t *rs)
 Add all header field that enable page caching (i.e. disable caching).
int response_enable_caching (response_t *rs)
 Remove all headers that inhibit page caching.
int response_set_cookie (response_t *rs, const char *name, const char *value, time_t expire, const char *path, const char *domain, int secure)
 Set the value of a cookie.
void response_set_method (response_t *rs, int method)
 Set the response method.
int response_get_method (response_t *rs)
 Get the response method.
int response_print_header (response_t *rs)
 Print a response header.
int response_set_field (response_t *rs, const char *name, const char *value)
 Set an header field of a response object.
int response_del_field (response_t *rs, const char *name)
 Remove an header field of a response object.
int response_set_content_type (response_t *rs, const char *mime_type)
 Set the content type of a response to a mime type.
int response_set_date (response_t *rs, time_t date)
 Set the date field in a response header.
int response_set_last_modified (response_t *rs, time_t mtime)
 Set the last modified field in a response header.
int response_set_content_length (response_t *rs, size_t sz)
 Set the content length field of a response header.
int response_get_status (response_t *rs)
 Get the status of a response.
header_tresponse_get_header (response_t *rs)
 Get the header of a response.
io_tresponse_io (response_t *rs)
 Get the I/O object of a response.
int response_redirect (response_t *rs, const char *url)
 Redirect to a given url.
int response_set_status (response_t *rs, int status)
 Set the status of a response.

Function Documentation

int response_set_content_encoding response_t rs,
const char *  encoding
 

Set the Content-Encoding field in a response object rs to encoding.

Parameters:
rs response object
encoding encoding type
Returns:
  • 0 if successful
  • ~0 if successful

Definition at line 44 of file response.c.

int response_disable_caching response_t rs  ) 
 

Adds all relevant Header fields to the current HTTP response to avoid browser caching.

The function will set/modify the following fields:

Cache-Control: no-cache, must-revalidate Expires: Mon, 1 Jan 1990 05:00:00 GMT Pragma: no-cache

Parameters:
rs response object
Returns:
  • 0 if successful
  • ~0 if successful

Definition at line 74 of file response.c.

References response_set_field().

int response_enable_caching response_t rs  ) 
 

Remove all HTTP Header fields that (should) prevent browsers caching. This should enable caching on specs-compliant browsers.

Those fields are:

Cache-Control: Expires: Pragma:

Parameters:
rs response object
Returns:
  • 0 if successful
  • ~0 if successful

Definition at line 108 of file response.c.

References response_del_field().

int response_set_cookie response_t rs,
const char *  name,
const char *  value,
time_t  expire,
const char *  path,
const char *  domain,
int  secure
 

Set the value of a cookie named name to value in response object rs. Other fields that can be set are expire, path, domain, and secure.

Parameters:
rs response object
name cookie name
value cookie value
expire cookie expiration date
path cookie path
domain cookie domain
secure cookie secure flag
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 140 of file response.c.

References u_tt_to_rfc822(), and u_urlncpy().

void response_set_method response_t rs,
int  method
 

Set the response method of rs to method. For possible values of method, refer to http.h.

Parameters:
rs response object
method response method
Returns:
  • nothing

Definition at line 258 of file response.c.

int response_get_method response_t rs  ) 
 

Get the response method of rs. For possibile values of method, refer to http.h.

Parameters:
rs response object
Returns:
  • the method of the given rs

Definition at line 275 of file response.c.

int response_print_header response_t rs  ) 
 

Print the header of rs

Parameters:
rs parameter rs description
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 363 of file response.c.

int response_set_field response_t rs,
const char *  name,
const char *  value
 

Set field name to value in reponse object rs.

Parameters:
rs response object
name field name
value field value
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 383 of file response.c.

Referenced by response_disable_caching().

int response_del_field response_t rs,
const char *  name
 

Remove the header field whose name is name

Parameters:
rs response object
name field name
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 402 of file response.c.

Referenced by response_enable_caching().

int response_set_content_type response_t rs,
const char *  mime_type
 

Set the Content-Type field of response rs to mime_type.

Parameters:
rs response object
mime_type mime type
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 432 of file response.c.

int response_set_date response_t rs,
time_t  date
 

Set the Date field of rs to date.

Parameters:
rs response object
date date value
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 456 of file response.c.

References u_tt_to_rfc822().

int response_set_last_modified response_t rs,
time_t  mtime
 

Set the Last-Modified field of rs to mtime.

Parameters:
rs response object
mtime last modified date value
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 483 of file response.c.

References u_tt_to_rfc822().

int response_set_content_length response_t rs,
size_t  sz
 

Set the Content-Length field of rs to sz.

Parameters:
rs response object
sz number of bytes in content
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 510 of file response.c.

int response_get_status response_t rs  ) 
 

Get the status of a response rs. For possible values of status refer to response.h.

Parameters:
rs response object
Returns:
  • the status of the given rs

Definition at line 536 of file response.c.

header_t* response_get_header response_t rs  ) 
 

Get the header of a response rs.

Parameters:
rs response object
Returns:
  • the child header object of the given rs

Definition at line 552 of file response.c.

io_t* response_io response_t rs  ) 
 

Get the I/O object of reponse rs.

Parameters:
rs response object
Returns:
  • the I/O child object of the given rs

Definition at line 568 of file response.c.

int response_redirect response_t rs,
const char *  url
 

Redirect to url by setting the Location field in response rs.

Parameters:
rs parameter rs description
url parameter url description
Returns:
  • 0 if successful
  • ~0 on error

Definition at line 586 of file response.c.

References HTTP_STATUS_MOVED_TEMPORARILY, and response_set_status().

int response_set_status response_t rs,
int  status
 

Set the status of response rs. For possible values of status refer to response.h.

Parameters:
rs parameter rs description
status parameter status description
Returns:
  • 0 always

Definition at line 615 of file response.c.

Referenced by response_redirect().