http.c File Reference
#include "libavutil/avstring.h"
#include "avformat.h"
#include <unistd.h>
#include "internal.h"
#include "network.h"
#include "http.h"
#include "os_support.h"
#include "httpauth.h"
#include "url.h"
#include "libavutil/opt.h"

Go to the source code of this file.

Data Structures

struct  HTTPContext

Macros

#define BUFFER_SIZE   1024
#define MAX_REDIRECTS   8
#define OFFSET(x)   offsetof(HTTPContext, x)
#define D   AV_OPT_FLAG_DECODING_PARAM
#define E   AV_OPT_FLAG_ENCODING_PARAM
#define HTTP_CLASS(flavor)

Functions

 HTTP_CLASS (http)
 HTTP_CLASS (https)
static int http_connect (URLContext *h, const char *path, const char *local_path, const char *hoststr, const char *auth, const char *proxyauth, int *new_location)
void ff_http_init_auth_state (URLContext *dest, const URLContext *src)
 Initialize the authentication state based on another HTTP URLContext.
static int http_open_cnx (URLContext *h)
static int http_open (URLContext *h, const char *uri, int flags)
static int http_getc (HTTPContext *s)
static int http_get_line (HTTPContext *s, char *line, int line_size)
static int process_line (URLContext *h, char *line, int line_count, int *new_location)
static int has_header (const char *str, const char *header)
static int http_buf_read (URLContext *h, uint8_t *buf, int size)
static int http_read (URLContext *h, uint8_t *buf, int size)
static int http_write (URLContext *h, const uint8_t *buf, int size)
static int http_close (URLContext *h)
static int64_t http_seek (URLContext *h, int64_t off, int whence)
static int http_get_file_handle (URLContext *h)

Variables

static const AVOption options []

Macro Definition Documentation

#define BUFFER_SIZE   1024

Definition at line 37 of file http.c.

Referenced by http_getc(), and http_seek().

Definition at line 57 of file http.c.

Definition at line 58 of file http.c.

#define HTTP_CLASS (   flavor)
Value:
static const AVClass flavor ## _context_class = {\
.class_name = #flavor,\
.item_name = av_default_item_name,\
.option = options,\
.version = LIBAVUTIL_VERSION_INT,\
}

Definition at line 64 of file http.c.

#define MAX_REDIRECTS   8

Definition at line 38 of file http.c.

Referenced by http_open_cnx().

#define OFFSET (   x)    offsetof(HTTPContext, x)

Definition at line 56 of file http.c.


Function Documentation

void ff_http_init_auth_state ( URLContext dest,
const URLContext src 
)

Initialize the authentication state based on another HTTP URLContext.

This can be used to pre-initialize the authentication parameters if they are known beforehand, to avoid having to do an initial failing request just to get the parameters.

Parameters:
destURL context whose authentication state gets updated
srcURL context whose authentication state gets copied

Definition at line 79 of file http.c.

static int has_header ( const char *  str,
const char *  header 
)
inlinestatic

Definition at line 313 of file http.c.

Referenced by http_connect().

static int http_buf_read ( URLContext h,
uint8_t *  buf,
int  size 
)
static

Definition at line 418 of file http.c.

Referenced by http_read().

HTTP_CLASS ( http  )
HTTP_CLASS ( https  )
static int http_close ( URLContext h)
static

Definition at line 497 of file http.c.

static int http_connect ( URLContext h,
const char *  path,
const char *  local_path,
const char *  hoststr,
const char *  auth,
const char *  proxyauth,
int *  new_location 
)
static

Definition at line 321 of file http.c.

Referenced by http_open_cnx().

static int http_get_file_handle ( URLContext h)
static

Definition at line 551 of file http.c.

static int http_get_line ( HTTPContext s,
char *  line,
int  line_size 
)
static

Definition at line 214 of file http.c.

Referenced by http_connect(), and http_read().

static int http_getc ( HTTPContext s)
static

Definition at line 197 of file http.c.

Referenced by http_get_line().

static int http_open ( URLContext h,
const char *  uri,
int  flags 
)
static

Definition at line 180 of file http.c.

static int http_open_cnx ( URLContext h)
static

Definition at line 89 of file http.c.

Referenced by http_open(), and http_seek().

static int http_read ( URLContext h,
uint8_t *  buf,
int  size 
)
static

Definition at line 442 of file http.c.

static int64_t http_seek ( URLContext h,
int64_t  off,
int  whence 
)
static

Definition at line 514 of file http.c.

static int http_write ( URLContext h,
const uint8_t *  buf,
int  size 
)
static

Definition at line 471 of file http.c.

static int process_line ( URLContext h,
char *  line,
int  line_count,
int *  new_location 
)
static

Definition at line 238 of file http.c.

Referenced by http_connect().


Variable Documentation

const AVOption options[]
static
Initial value:
{
{"chunked_post", "use chunked transfer-encoding for posts", OFFSET(chunked_post), AV_OPT_TYPE_INT, {.dbl = 1}, 0, 1, E },
{"headers", "custom HTTP headers, can override built in default headers", OFFSET(headers), AV_OPT_TYPE_STRING, { 0 }, 0, 0, D|E },
}

Definition at line 59 of file http.c.