libfetch 0.0.0
A lightweight asynchronous HTTP/1.1 client library implementing a subset of the WHATWG Fetch API.
Loading...
Searching...
No Matches
main.c File Reference
#include "fetch.h"
#include <errno.h>
#include <signal.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/ioctl.h>
#include <termios.h>
#include <unistd.h>

Data Structures

struct  cli_options_t
 

Functions

static void init_options (cli_options_t *opts)
 
static void free_options (cli_options_t *opts)
 
static char * safe_strdup (const char *str)
 
static void print_version (void)
 
static void print_usage (const char *program_name)
 
static void signal_handler (int signum)
 
static bool parse_args (int argc, char *argv[], cli_options_t *opts)
 
static bool read_file (const char *filename, char **data, size_t *size)
 
static void write_headers (fetch_response_t *response, FILE *output)
 
static void write_body (fetch_response_t *response, FILE *output)
 
static void print_write_out (fetch_response_t *response, const char *format)
 
static void prepare_headers (cli_options_t *opts, fetch_headers_t *headers)
 
static int execute_request (cli_options_t *opts)
 
int main (int argc, char *argv[])
 

Variables

static volatile bool g_interrupted = false
 
static fetch_promise_tg_current_promise = NULL
 

Function Documentation

◆ execute_request()

static int execute_request ( cli_options_t * opts)
static

◆ free_options()

static void free_options ( cli_options_t * opts)
static

◆ init_options()

static void init_options ( cli_options_t * opts)
static

◆ main()

int main ( int argc,
char * argv[] )

◆ parse_args()

static bool parse_args ( int argc,
char * argv[],
cli_options_t * opts )
static

◆ prepare_headers()

static void prepare_headers ( cli_options_t * opts,
fetch_headers_t * headers )
static

◆ print_usage()

static void print_usage ( const char * program_name)
static

◆ print_version()

static void print_version ( void )
static

◆ print_write_out()

static void print_write_out ( fetch_response_t * response,
const char * format )
static

◆ read_file()

static bool read_file ( const char * filename,
char ** data,
size_t * size )
static

◆ safe_strdup()

static char * safe_strdup ( const char * str)
static

◆ signal_handler()

static void signal_handler ( int signum)
static

◆ write_body()

static void write_body ( fetch_response_t * response,
FILE * output )
static

◆ write_headers()

static void write_headers ( fetch_response_t * response,
FILE * output )
static

Variable Documentation

◆ g_current_promise

fetch_promise_t* g_current_promise = NULL
static

◆ g_interrupted

volatile bool g_interrupted = false
static