Added mg_send_file()

This commit is contained in:
valenok 2011-06-19 17:45:52 +01:00
parent 23a3cc6472
commit 5bbb6fbbd5
2 changed files with 15 additions and 0 deletions

View File

@ -2567,6 +2567,16 @@ static void handle_file_request(struct mg_connection *conn, const char *path,
(void) fclose(fp);
}
void mg_send_file(struct mg_connection *conn, const char *path) {
struct mgstat st;
if (mg_stat(path, &st) == 0) {
handle_file_request(conn, path, &st);
} else {
send_http_error(conn, 404, "Not Found", "%s", "File not found");
}
}
// Parse HTTP headers from the given buffer, advance buffer to the point
// where parsing stopped.
static void parse_http_headers(char **buf, struct mg_request_info *ri) {

View File

@ -158,6 +158,11 @@ int mg_write(struct mg_connection *, const void *buf, size_t len);
int mg_printf(struct mg_connection *, const char *fmt, ...);
// Send contents of the entire file together with HTTP headers.
// Return 1 on success, 0 on error (e.g. file does not exist).
void mg_send_file(struct mg_connection *conn, const char *path);
// Read data from the remote end, return number of bytes read.
int mg_read(struct mg_connection *, void *buf, size_t len);