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 struct 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
Enumerator:
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 1852 of file request.c.

int request_free ( request_t rq  ) 

Definition at line 1903 of file request.c.

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

Definition at line 1643 of file request.c.

vhost_t* request_get_vhost ( request_t rq  ) 

Definition at line 2056 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 1580 of file request.c.

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

Definition at line 1667 of file request.c.

int request_print ( request_t rq  ) 

Definition at line 1796 of file request.c.

int request_set_addr ( request_t rq,
kaddr_t addr 
)

Definition at line 1945 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 1956 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 1633 of file request.c.

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

Definition at line 605 of file request.c.

int request_set_vhost ( request_t rq,
vhost_t vhost 
)

Definition at line 2063 of file request.c.