KLone APIs | Modules | Data Structures | File List | Data Fields | Globals

request.c File Reference

Go to the source code of this file.


Defines

#define REQUEST_SET_STRING_FIELD(lval, rval)
#define SETUP_BUF_ACCESS_AT(idx)

Typedefs

typedef upload_info_s upload_info_t

Enumerations

enum  { REQUEST_DEFAULT_IDLE_TIMEOUT = 10, REQUEST_DEFAULT_POST_TIMEOUT = 600, REQUEST_DEFAULT_POST_MAXSIZE = 5*1024000 }

Functions

int request_is_encoding_accepted (request_t *rq, const char *encoding)
io_trequest_io (request_t *rq)
vars_trequest_get_cookies (request_t *rq)
const char * request_get_cookie (request_t *rq, const char *name)
vars_trequest_get_args (request_t *rq)
vars_trequest_get_getargs (request_t *rq)
vars_trequest_get_postargs (request_t *rq)
const char * request_get_arg (request_t *rq, const char *name)
const char * request_get_getarg (request_t *rq, const char *name)
const char * request_get_postarg (request_t *rq, const char *name)
int request_set_field (request_t *rq, const char *name, const char *value)
const char * request_get_uri (request_t *rq)
const char * request_get_filename (request_t *rq)
int request_set_filename (request_t *rq, const char *filename)
const char * request_get_query_string (request_t *rq)
const char * request_get_path_info (request_t *rq)
time_t request_get_if_modified_since (request_t *rq)
int request_set_resolved_filename (request_t *rq, const char *resolved_fn)
http_trequest_get_http (request_t *rq)
int request_bind (request_t *rq, io_t *in)
int request_set_query_string (request_t *rq, const char *query)
void request_clear_uri (request_t *rq)
int request_set_path_info (request_t *rq, const char *path_info)
int request_set_resolved_path_info (request_t *rq, const char *resolved_pi)
int request_set_uri (request_t *rq, const char *uri, int(*is_valid_uri)(void *, const char *, size_t), void *arg)
int request_set_client_request (request_t *rq, const char *ln)
const char * request_get_client_request (request_t *rq)
int request_set_method (request_t *rq, const char *method)
void request_set_cgi (request_t *rq, int cgi)
ssize_t request_get_content_length (request_t *rq)
vars_trequest_get_uploads (request_t *rq)
int request_get_uploaded_file (request_t *rq, const char *name, size_t idx, char local_filename[U_FILENAME_MAX], char client_filename[U_FILENAME_MAX], char mime_type[MIME_TYPE_BUFSZ], size_t *file_size)
int request_parse_data (request_t *rq)
void request_set_sup_info (request_t *rq, supplier_t *sup, void *handle, time_t mtime)
void request_get_sup_info (request_t *rq, supplier_t **psup, void **phandle, time_t *pmtime)
int request_parse_header (request_t *rq, int(*is_valid_uri)(void *, const char *, size_t), void *arg)
int request_get_method (request_t *rq)
const char * request_get_protocol (request_t *rq)
const char * request_get_resolved_filename (request_t *rq)
const char * request_get_resolved_path_info (request_t *rq)
int request_print (request_t *rq)
int request_create (http_t *http, request_t **prq)
int request_free (request_t *rq)
int request_set_addr (request_t *rq, kaddr_t *addr)
int request_set_peer_addr (request_t *rq, kaddr_t *addr)
kaddr_trequest_get_addr (request_t *rq)
kaddr_trequest_get_peer_addr (request_t *rq)
header_trequest_get_header (request_t *rq)
field_trequest_get_field (request_t *rq, const char *name)
const char * request_get_field_value (request_t *rq, const char *name)
vhost_trequest_get_vhost (request_t *rq)
int request_set_vhost (request_t *rq, vhost_t *vhost)

Define Documentation

#define REQUEST_SET_STRING_FIELD lval,
rval   ) 
 

Value:

do {                                            \
        U_FREE(lval);                               \
        if(rval)                                    \
        {                                           \
            lval = u_strdup(rval);                  \
            dbg_err_if(lval == NULL);               \
        }                                           \
    } while(0)

Definition at line 80 of file request.c.

#define SETUP_BUF_ACCESS_AT idx   ) 
 

Value:

if(idx >= wtot) {                                                   \
            if(idx >= size)                                                 \
                return wtot; /* the output buffer is full */                \
                                                                            \
            /* we need to fetch some more bytes to access obuf[i] */        \
            dbg_err_if((rc = io_read(io, wbuf, idx + 1 - wtot)) < 0);       \
            if(rc == 0 || rc < idx + 1 - wtot)                              \
                return wtot + rc; /* eof or short count */                  \
            wbuf += rc;                                                     \
            wtot += rc;                                                     \
        }

Typedef Documentation

typedef struct upload_info_s upload_info_t
 


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
REQUEST_DEFAULT_IDLE_TIMEOUT 
REQUEST_DEFAULT_POST_TIMEOUT 
REQUEST_DEFAULT_POST_MAXSIZE 

Definition at line 73 of file request.c.


Function Documentation

int request_bind request_t rq,
io_t in
 

Definition at line 500 of file request.c.

void request_clear_uri request_t rq  ) 
 

Definition at line 533 of file request.c.

int request_create http_t http,
request_t **  prq
 

Definition at line 1848 of file request.c.

int request_free request_t rq  ) 
 

Definition at line 1899 of file request.c.

void request_get_sup_info request_t rq,
supplier_t **  psup,
void **  phandle,
time_t *  pmtime
 

Definition at line 1639 of file request.c.

vhost_t* request_get_vhost request_t rq  ) 
 

Definition at line 2052 of file request.c.

int request_is_encoding_accepted request_t rq,
const char *  encoding
 

Definition at line 91 of file request.c.

int request_parse_data request_t rq  ) 
 

Definition at line 1576 of file request.c.

int request_parse_header request_t rq,
int(*  is_valid_uri)(void *, const char *, size_t),
void *  arg
 

Definition at line 1663 of file request.c.

int request_print request_t rq  ) 
 

Definition at line 1792 of file request.c.

int request_set_addr request_t rq,
kaddr_t addr
 

Definition at line 1941 of file request.c.

void request_set_cgi request_t rq,
int  cgi
 

Definition at line 896 of file request.c.

int request_set_client_request request_t rq,
const char *  ln
 

Definition at line 693 of file request.c.

int request_set_field request_t rq,
const char *  name,
const char *  value
 

Definition at line 315 of file request.c.

int request_set_filename request_t rq,
const char *  filename
 

Definition at line 369 of file request.c.

int request_set_method request_t rq,
const char *  method
 

Definition at line 735 of file request.c.

int request_set_path_info request_t rq,
const char *  path_info
 

Definition at line 557 of file request.c.

int request_set_peer_addr request_t rq,
kaddr_t addr
 

Definition at line 1952 of file request.c.

int request_set_query_string request_t rq,
const char *  query
 

Definition at line 521 of file request.c.

int request_set_resolved_filename request_t rq,
const char *  resolved_fn
 

Definition at line 460 of file request.c.

int request_set_resolved_path_info request_t rq,
const char *  resolved_pi
 

Definition at line 580 of file request.c.

void request_set_sup_info request_t rq,
supplier_t sup,
void *  handle,
time_t  mtime
 

Definition at line 1629 of file request.c.

int request_set_uri request_t rq,
const char *  uri,
int(*  is_valid_uri)(void *, const char *, size_t),
void *  arg
 

Definition at line 605 of file request.c.

int request_set_vhost request_t rq,
vhost_t vhost
 

Definition at line 2059 of file request.c.