nanohttp-common.c File Reference

#include "nanohttp-logging.h"
#include "nanohttp-error.h"
#include "nanohttp-common.h"

Go to the source code of this file.

Functions

hpair_thpairnode_new (const char *key, const char *value, hpair_t *next)
hpair_thpairnode_parse (const char *str, const char *delim, hpair_t *next)
hpair_thpairnode_copy (const hpair_t *src)
hpair_thpairnode_copy_deep (const hpair_t *src)
void hpairnode_dump (const hpair_t *pair)
void hpairnode_dump_deep (const hpair_t *pairs)
void hpairnode_free (hpair_t *pair)
void hpairnode_free_deep (hpair_t *pair)
char * hpairnode_get_ignore_case (hpair_t *pair, const char *key)
char * hpairnode_get (hpair_t *pair, const char *key)
content_type_tcontent_type_new (const char *content_type_str)
void content_type_free (content_type_t *ct)
part_tpart_new (const char *id, const char *filename, const char *content_type, const char *transfer_encoding, struct part_t *next)
void part_free (struct part_t *part)
attachments_tattachments_new (void)
void attachments_add_part (struct attachments_t *attachments, struct part_t *part)
void attachments_free (struct attachments_t *message)


Function Documentation

void attachments_add_part struct attachments_t attachments,
struct part_t part
 

Definition at line 441 of file nanohttp-common.c.

References attachments_t::last, part_t::next, and attachments_t::parts.

Referenced by soap_ctx_add_file().

void attachments_free struct attachments_t message  ) 
 

Free a attachment. Create attachments with MIME

See also:
mime_get_attachments

Definition at line 460 of file nanohttp-common.c.

References part_t::next, part_free(), attachments_t::parts, and attachments_t::root_part.

Referenced by hrequest_free(), hresponse_free(), mime_get_attachments(), and soap_ctx_free().

struct attachments_t* attachments_new void   ) 
 

Definition at line 423 of file nanohttp-common.c.

References attachments_t::last, log_error2, attachments_t::parts, and attachments_t::root_part.

Referenced by soap_ctx_add_file().

void content_type_free content_type_t ct  ) 
 

Frees the given content_type_t object

Definition at line 354 of file nanohttp-common.c.

References hpairnode_free_deep(), and _content_type::params.

Referenced by hrequest_free(), and hresponse_free().

content_type_t* content_type_new const char *  content_type_str  ) 
 

Parses the given string and creates a new ccontent_type_t object.

Parameters:
content_type_str the string representation of the content-type field in a HTTP header.
Returns:
A newly created content_type_t object. Free this object with content_type_free();
See also:
content_type_free

Definition at line 269 of file nanohttp-common.c.

References hpairnode_new(), hpair::next, _content_type::params, and _content_type::type.

hpair_t* hpairnode_copy const hpair_t src  ) 
 

This function will create a new pair and fills the (key,value) fields of a given pair. Note that the 'next' field will not be copied.

Parameters:
src the source pair object to copy.
Returns:
a newly created pair with the same (key,value) pairs as in 'src'. This fields will be cloned. The'next' field will be set to NULL.
See also:
hpairnode_copy_deep

Definition at line 123 of file nanohttp-common.c.

References hpairnode_new(), hpair::key, and hpair::value.

Referenced by hpairnode_copy_deep().

hpair_t* hpairnode_copy_deep const hpair_t src  ) 
 

Clones the hole linked list.

Parameters:
src the source pair object to copy from
Returns:
the first object in the linked list.
See also:
hpairnode_copy

Definition at line 135 of file nanohttp-common.c.

References hpairnode_copy(), and hpair::next.

void hpairnode_dump const hpair_t pair  ) 
 

Dumps the pair specified.

Definition at line 158 of file nanohttp-common.c.

References hpair::key, log_verbose1, log_verbose5, hpair::next, SAVE_STR, and hpair::value.

Referenced by hpairnode_dump_deep().

void hpairnode_dump_deep const hpair_t pairs  ) 
 

Dumps a set of pairs.

See also:
hpairnode_dump

Definition at line 172 of file nanohttp-common.c.

References hpairnode_dump(), log_verbose1, and hpair::next.

Referenced by http_input_stream_new().

void hpairnode_free hpair_t pair  ) 
 

Frees a given pair.

Parameters:
pair the pair to free

Definition at line 187 of file nanohttp-common.c.

References hpair::key, and hpair::value.

Referenced by hpairnode_free_deep(), and httpc_free().

void hpairnode_free_deep hpair_t pair  ) 
 

Makes a deep free operation. All pairnodes, beginning with the given pari, in the linked list will be destroyed.

Parameters:
pair the pair to start to free the linked list

Definition at line 205 of file nanohttp-common.c.

References hpairnode_free(), and hpair::next.

Referenced by content_type_free(), hrequest_free(), hresponse_free(), httpd_free(), and part_free().

char* hpairnode_get hpair_t pair,
const char *  key
 

Returns the (key,value) pair, which key is the given 'key'.

Parameters:
pair the first pair to start to search from.
key key to find the in the pair.
Returns:
if a value will be found, this function will

the value (do not free this string) or NULL if no pair was found with the key 'key'.

Definition at line 244 of file nanohttp-common.c.

References hpair::key, log_error1, hpair::next, and hpair::value.

Referenced by mime_get_attachments().

char* hpairnode_get_ignore_case hpair_t pair,
const char *  key
 

Returns the (key,value) pair, which key is the given 'key'. The case will be ignored while comparing the key strings.

Parameters:
pair the first pair to start to search from.
key key to find the in the pair.
Returns:
if a value will be found, this function will

the value (do not free this string) or NULL if no pair was found with the key 'key'.

Definition at line 220 of file nanohttp-common.c.

References hpair::key, log_error1, hpair::next, and hpair::value.

Referenced by http_input_stream_new(), http_output_stream_new(), and httpd_get_postdata().

hpair_t* hpairnode_new const char *  key,
const char *  value,
hpair_t next
 

Creates a new pair with the given parameters. Both strings key and value will be cloned while creating the pair.

Parameters:
key the key of the (key,value) pair
value the value of the (key,value) pair
next next pair node in the linked list
Returns:
A newly crated hpair_t object. Use hpair_free() or hpair_free_deep() to free the pair.

Definition at line 61 of file nanohttp-common.c.

References hpair::key, log_error2, log_verbose3, hpair::next, SAVE_STR, and hpair::value.

Referenced by content_type_new(), hpairnode_copy(), httpc_add_header(), httpc_set_header(), httpd_add_header(), httpd_set_header(), and part_new().

hpair_t* hpairnode_parse const char *  str,
const char *  delim,
hpair_t next
 

Creates a new pair from a given string. This function will split 'str' with the found first delimiter 'delim'. The 'value' field of the newly created pair will have the value "", if no delimiter was found/ Whitespaces (' ') will be removed from the beginnig of the parsed value.

Parameters:
str A string to parse
delim a delimiter to use while splitting into key,value
next next pair node in the linked list
Returns:
A newly crated hpair_t object. Use hpair_free() or hpair_free_deep() to free the pair.

Definition at line 96 of file nanohttp-common.c.

References hpair::key, hpair::next, and hpair::value.

void part_free struct part_t part  ) 
 

Definition at line 407 of file nanohttp-common.c.

References part_t::deleteOnExit, part_t::filename, part_t::header, and hpairnode_free_deep().

Referenced by attachments_free().

struct part_t* part_new const char *  id,
const char *  filename,
const char *  content_type,
const char *  transfer_encoding,
struct part_t next
 

Definition at line 366 of file nanohttp-common.c.

References part_t::content_type, part_t::deleteOnExit, part_t::filename, part_t::header, HEADER_CONTENT_ID, HEADER_CONTENT_TYPE, hpairnode_new(), part_t::id, log_error2, part_t::next, and part_t::transfer_encoding.

Referenced by soap_ctx_add_file().


Generated on Thu Jan 25 23:36:03 2007 for csoap by  doxygen 1.4.6