http_basic.c File Reference


Detailed Description

HTTP basic header.

The file http_basic.c contains implementation of header classes for basic HTTP headers, like request and status lines, payload, Call-ID, CSeq, Contact, Content-Length, Date, Expires, From, Route, Record-Route, To, and Via.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>
Date:
Created: Tue Jun 13 02:57:51 2000 ppessi

#include "config.h"
#include <sofia-sip/su_alloc.h>
#include <sofia-sip/http_parser.h>
#include <sofia-sip/http_header.h>
#include <sofia-sip/http_status.h>
#include <sofia-sip/msg_mime_protos.h>
#include <sofia-sip/msg_date.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <stdio.h>

Include dependency graph for http_basic.c:


Functions

int http_request_d (su_home_t *home, http_header_t *h, char *s, int slen)
 Parse request line of a HTTP message.
int http_request_e (char b[], int bsiz, http_header_t const *h, int flags)
 Encode a HTTP request line.
char * http_request_dup_one (http_header_t *dst, http_header_t const *src, char *b, int xtra)
 Duplicate one request header.
http_request_thttp_request_create (su_home_t *home, http_method_t method, char const *name, url_string_t const *url, char const *version)
 Create a request line object.
int http_status_d (su_home_t *home, http_header_t *h, char *s, int slen)
 Parse status line.
int http_status_dup_xtra (http_header_t const *h, int offset)
 Extra size of a http_status_t object.
char * http_status_dup_one (http_header_t *dst, http_header_t const *src, char *b, int xtra)
 Duplicate one status header.
http_status_thttp_status_create (su_home_t *home, unsigned status, char const *phrase, char const *version)
 Create a status line object.
http_date_thttp_date_create (su_home_t *home, http_time_t date)
 Create an Date header object.
int http_host_d (su_home_t *home, http_header_t *h, char *s, int slen)
 Parse Host header.
int http_host_e (char b[], int bsiz, http_header_t const *h, int flags)
 Print Host header.
http_host_thttp_host_create (su_home_t *home, char const *host, char const *port)
 Create an Host header object.
int http_if_range_d (su_home_t *home, http_header_t *h, char *s, int slen)
 Parse If-Range header.
int http_if_range_e (char b[], int bsiz, http_header_t const *h, int flags)
 Print If-Range header.
int http_location_d (su_home_t *home, msg_header_t *h, char *s, int slen)
 Decode (parse) a Location header.
int http_location_e (char b[], int bsiz, msg_header_t const *h, int flags)
 Encode (print) a Location header.
int http_location_dup_xtra (msg_header_t const *h, int offset)
 Calculate extra storage used by Location header field.
char * http_location_dup_one (msg_header_t *dst, msg_header_t const *src, char *b, int xtra)
 Duplicate a Location header field.
int http_range_d (su_home_t *home, msg_header_t *h, char *s, int slen)
 Decode (parse) a Range header.
int http_range_e (char b[], int bsiz, msg_header_t const *h, int flags)
 Encode (print) a Range header.
int http_range_dup_xtra (msg_header_t const *h, int offset)
 Calculate extra storage used by Range header field.
char * http_range_dup_one (msg_header_t *dst, msg_header_t const *src, char *b, int xtra)
 Duplicate a Range header field.
char * http_te_dup_one (msg_header_t *dst, msg_header_t const *src, char *b, int xtra)
 Duplicate one http_te_t object.

Function Documentation

http_request_t* http_request_create ( su_home_t home,
http_method_t  method,
char const *  name,
url_string_t const *  url,
char const *  version 
)

Create a request line object.

Note that version string is not copied; it MUST remain constant during lifetime of the http_request_t object. You can use constants http_version_1_1 or http_version_1_0 declared in <http_header.h>.

int http_request_d ( su_home_t home,
http_header_t h,
char *  s,
int  slen 
)

Parse request line of a HTTP message.

The function http_request_d() parses the request line from a a HTTP message.

int http_request_e ( char  b[],
int  bsiz,
http_header_t const *  h,
int  flags 
)

Encode a HTTP request line.

The function http_request_e() prints a HTTP request line.

http_status_t* http_status_create ( su_home_t home,
unsigned  status,
char const *  phrase,
char const *  version 
)

Create a status line object.

Note that version is not copied; it MUST remain constant during lifetime of the http_status_t object.


Sofia-SIP 1.12.1 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.