Functions

i4httools.h File Reference

Miscellaneous routines for building an HTTP server. More...

#include <stdio.h>

Go to the source code of this file.

Functions

int checkPath (const char relPath[])
 Checks if a relative path leaves the root directory.
void badRequest (FILE *client, const char request[])
 Outputs a "bad request" HTML page to a stream.
void forbidden (FILE *client, const char fullPath[], const char relPath[])
 Outputs a "forbidden" HTML page to a stream.
void notFound (FILE *client, const char fullPath[], const char relPath[])
 Outputs a "not found" HTML page to a stream.
void internalServerError (FILE *client, const char fullPath[], const char relPath[])
 Outputs an "internal server error" HTML page to a stream.

Detailed Description

Miscellaneous routines for building an HTTP server.

This module contains some routines that are useful for implementing a web server.


Function Documentation

void badRequest ( FILE *  client,
const char  request[] 
)

Outputs a "bad request" HTML page to a stream.

This routine generates a "bad request (400)" error page on the given stream, which should normally be the client connection.

Parameters:
client The output stream.
request Request string.
int checkPath ( const char  relPath[]  ) 

Checks if a relative path leaves the root directory.

This routine checks if the relative path component of a request ascends the VFS beyond the root directory. Such requests should not be served.

Note:
This function stops processing as soon as the path ascends beyond the root of the web directory.
Parameters:
relPath Requested URL.
Returns:
Positive depth of the request relative to the web directory, or -1 if the relative URL ascends beyond the web directory.
void forbidden ( FILE *  client,
const char  fullPath[],
const char  relPath[] 
)

Outputs a "forbidden" HTML page to a stream.

This routine generates a "forbidden (403)" error page on the given stream, which should normally be the client connection.

Parameters:
client The output stream.
fullPath Full local path of the requested file.
relPath Requested URL.
void internalServerError ( FILE *  client,
const char  fullPath[],
const char  relPath[] 
)

Outputs an "internal server error" HTML page to a stream.

This routine generates an "internal server error (500)" error page on the given stream, which should normally be the client connection.

Parameters:
client The output stream.
fullPath Full local path of the requested file.
relPath Requested URL.
void notFound ( FILE *  client,
const char  fullPath[],
const char  relPath[] 
)

Outputs a "not found" HTML page to a stream.

This routine generates a "not found (404)" error page on the given stream, which should normally be the client connection.

Parameters:
client The output stream.
fullPath Full local path of the requested file.
relPath Requested URL.
 All Files Functions