sister
|
Miscellaneous routines for building an HTTP server. More...
#include <stdio.h>
Go to the source code of this file.
Functions | |
int | checkPath (const char path[]) |
Checks if a path leaves the webserver's document-root (wwwpath). More... | |
void | httpOK (FILE *tx) |
Outputs an "OK" HTTP response to a stream. More... | |
void | httpMovedPermanently (FILE *tx, const char newRelPath[]) |
Outputs a "moved permanently" HTTP response and error page to a stream. More... | |
void | httpBadRequest (FILE *tx) |
Outputs a "bad request" HTTP response and error page to a stream. More... | |
void | httpForbidden (FILE *tx, const char relPath[]) |
Outputs a "forbidden" HTTP response and error page to a stream. More... | |
void | httpNotFound (FILE *tx, const char relPath[]) |
Outputs a "not found" HTTP response and error page to a stream. More... | |
void | httpInternalServerError (FILE *tx, const char relPath[]) |
Outputs an "internal server error" HTTP response and error page to a stream. More... | |
Miscellaneous routines for building an HTTP server.
This module contains some routines that are useful for implementing a web server.
int checkPath | ( | const char | path[] | ) |
Checks if a path leaves the webserver's document-root (wwwpath).
This routine checks if the path (as obtained from the HTTP GET request) ascends the VFS beyond the webserver's document-root directory (wwwpath). Such requests should not be served.
path | Requested URL. |
void httpBadRequest | ( | FILE * | tx | ) |
Outputs a "bad request" HTTP response and error page to a stream.
This routine generates an "HTTP/1.0 400 Bad Request" status line and a corresponding HTML error page on the given stream, which should normally be the client connection.
tx | The output stream. |
void httpForbidden | ( | FILE * | tx, |
const char | relPath[] | ||
) |
Outputs a "forbidden" HTTP response and error page to a stream.
This routine generates an "HTTP/1.0 403 Forbidden" status line and a corresponding HTML error page on the given stream, which should normally be the client connection.
tx | The output stream. |
relPath | Requested URL. |
void httpInternalServerError | ( | FILE * | tx, |
const char | relPath[] | ||
) |
Outputs an "internal server error" HTTP response and error page to a stream.
This routine generates an "HTTP/1.0 500 Internal Server Error" status line and a corresponding HTML error page on the given stream, which should normally be the client connection.
tx | The output stream. |
relPath | Requested URL. May be NULL if not applicable. |
void httpMovedPermanently | ( | FILE * | tx, |
const char | newRelPath[] | ||
) |
Outputs a "moved permanently" HTTP response and error page to a stream.
This routine generates a "moved permanently (301)" HTTP response on the given stream, which should normally be the client connection.
tx | The output stream. |
newRelPath | Path to which the request is redirected. |
sister
), only for assignment 5 (mother
). void httpNotFound | ( | FILE * | tx, |
const char | relPath[] | ||
) |
Outputs a "not found" HTTP response and error page to a stream.
This routine generates an "HTTP/1.0 404 Not Found" status line and a corresponding HTML error page on the given stream, which should normally be the client connection.
tx | The output stream. |
relPath | Requested URL. |
void httpOK | ( | FILE * | tx | ) |
Outputs an "OK" HTTP response to a stream.
This routine generates an "OK (200)" status line on the given stream, which should normally be the client connection.
tx | The output stream. |