request.c File Reference

#include "nsd.h"

Defines

#define HTTP   "HTTP/"

Functions

void Ns_FreeRequest (Ns_Request *request)
Ns_Request * Ns_ParseRequest (char *line)
Ns_Request * Ns_ParseRequestEx (char *line, Tcl_Encoding encoding)
char * NsFindVersion (char *request, unsigned int *majorPtr, unsigned int *minorPtr)
char * Ns_SkipUrl (Ns_Request *request, int n)
void Ns_SetRequestUrl (Ns_Request *request, char *url)
int Ns_ParseHeader (Ns_Set *set, char *line, Ns_HeaderCaseDisposition disp)
void NsAppendRequest (Tcl_DString *dsPtr, Ns_Request *request)

Define Documentation

#define HTTP   "HTTP/"


Function Documentation

void Ns_FreeRequest ( Ns_Request *  request  ) 

----------------------------------------------------------------------

Ns_FreeRequest --

Free an Ns_Request structure and all its members.

Results: None.

Side effects: None.

----------------------------------------------------------------------

int Ns_ParseHeader ( Ns_Set *  set,
char *  line,
Ns_HeaderCaseDisposition  disp 
)

----------------------------------------------------------------------

Ns_ParseHeader --

Consume a header line, handling header continuation, placing results in given set.

Results: NS_OK/NS_ERROR

Side effects: None

----------------------------------------------------------------------

Header lines are first checked if they continue a previous header indicated by any preceeding white space. Otherwise, they must be in well form key: value form.

Continue before first header.

Malformed header.

Ns_Request* Ns_ParseRequest ( char *  line  ) 

----------------------------------------------------------------------

Ns_ParseRequest, Ns_ParseRequestEx --

Parse a request from a browser into an Ns_Request structure. Utilize the given encoding, if present.

Results: A new Ns_Request.

Side effects: The result is newly-allocated.

----------------------------------------------------------------------

Ns_Request* Ns_ParseRequestEx ( char *  line,
Tcl_Encoding  encoding 
)

void Ns_SetRequestUrl ( Ns_Request *  request,
char *  url 
)

----------------------------------------------------------------------

Ns_SetRequestUrl --

Set the url in a request structure.

Results: None.

Side effects: Makes a copy of url.

----------------------------------------------------------------------

char* Ns_SkipUrl ( Ns_Request *  request,
int  n 
)

----------------------------------------------------------------------

Ns_SkipUrl --

Return a pointer n elements into the request's url.

Results: The url beginning n elements in.

Side effects: None.

----------------------------------------------------------------------

void NsAppendRequest ( Tcl_DString *  dsPtr,
Ns_Request *  request 
)

----------------------------------------------------------------------

NsAppendRequest --

Utility function to append string of given request.

Results: None.

Side effects: None

----------------------------------------------------------------------

char* NsFindVersion ( char *  request,
unsigned int *  majorPtr,
unsigned int *  minorPtr 
)

----------------------------------------------------------------------

NsFindVersion --

Find the HTTP/x.y version string in a request line.

Results: Start of version string or NULL if not found.

Side effects: Given majorPtr and minorPtr will be updated.

----------------------------------------------------------------------


Generated on Tue Sep 4 19:58:56 2007 by  doxygen 1.5.1