response_code = C_SIMPLE_HTTP_Response_500_Internal_Server_Error;
} else if (file_info.result == STATIC_FILE_RESULT_InvalidParameter) {
response_code = C_SIMPLE_HTTP_Response_400_Bad_Request;
+ } else if (file_info.result == STATIC_FILE_RESULT_404NotFound) {
+ response_code = C_SIMPLE_HTTP_Response_404_Not_Found;
} else {
response_code = C_SIMPLE_HTTP_Response_500_Internal_Server_Error;
}
if (path && *path) {
int ret = chdir(*path);
if (ret != 0) {
- fprintf(stderr, "WARNING: chdir back to cwd failed! (errno %d)\n", errno);
+ fprintf(stderr, "WARNING chdir back to cwd failed! (errno %d)\n", errno);
}
free(*path);
*path = NULL;
int ret = chdir(static_dir);
if (ret != 0) {
fprintf(stderr,
- "ERROR: Failed to chdir into \"%s\"! (errno %d)\n",
+ "ERROR Failed to chdir into \"%s\"! (errno %d)\n",
static_dir,
errno);
file_info.result = STATIC_FILE_RESULT_InternalError;
}
}
if (path[idx] == 0) {
- fprintf(stderr, "ERROR: Received invalid path \"%s\"!\n", path);
+ fprintf(stderr, "ERROR Received invalid path \"%s\"!\n", path);
file_info.result = STATIC_FILE_RESULT_InvalidParameter;
return file_info;
}
fd = fopen(path + idx, "rb");
if (fd == NULL) {
- fprintf(stderr, "ERROR: Failed to open path \"%s\"!\n", path + idx);
- file_info.result = STATIC_FILE_RESULT_FileError;
+ fprintf(
+ stderr, "WARNING Failed to open path \"%s\" in static dir!\n", path + idx);
+ file_info.result = STATIC_FILE_RESULT_404NotFound;
return file_info;
}
fseek(fd, 0, SEEK_END);
long long_ret = ftell(fd);
if (long_ret < 0) {
- fprintf(stderr, "ERROR: Failed to seek in path fd \"%s\"!\n", path);
+ fprintf(stderr, "ERROR Failed to seek in path fd \"%s\"!\n", path);
file_info.result = STATIC_FILE_RESULT_FileError;
return file_info;
}
file_info.buf = malloc(file_info.buf_size);
size_t size_t_ret = fread(file_info.buf, 1, file_info.buf_size, fd);
if (size_t_ret != file_info.buf_size) {
- fprintf(stderr, "ERROR: Failed to read path fd \"%s\"!\n", path);
+ fprintf(stderr, "ERROR Failed to read path fd \"%s\"!\n", path);
free(file_info.buf);
file_info.buf_size = 0;
file_info.result = STATIC_FILE_RESULT_FileError;
STATIC_FILE_RESULT_FileError,
STATIC_FILE_RESULT_InvalidParameter,
STATIC_FILE_RESULT_NoXDGMimeAvailable,
- STATIC_FILE_RESULT_InternalError
+ STATIC_FILE_RESULT_InternalError,
+ STATIC_FILE_RESULT_404NotFound
} C_SIMPLE_HTTP_StaticFileResult;
typedef struct C_SIMPLE_HTTP_StaticFileInfo {