You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.6 KiB
79 lines
1.6 KiB
#include <stdio.h>
|
|
#include "httpd.h"
|
|
#include "httpd-utils.h"
|
|
#include "httpdespfs.h"
|
|
|
|
#include <httpd.h>
|
|
#include <cgiwebsocket.h>
|
|
#include <httpdespfs.h>
|
|
#include <auth.h>
|
|
#include <signal.h>
|
|
|
|
#include "logging.h"
|
|
|
|
extern unsigned char espfs_image[];
|
|
extern unsigned int espfs_image_len;
|
|
|
|
/** "About" page */
|
|
httpd_cgi_state tplIndex(HttpdConnData *connData, char *token, void **arg)
|
|
{
|
|
if (token == NULL) { return HTTPD_CGI_DONE; }
|
|
|
|
else if (streq(token, "date")) {
|
|
tplSend(connData, __DATE__, -1);
|
|
} else if (streq(token, "time")) {
|
|
tplSend(connData, __TIME__, -1);
|
|
} else if (streq(token, "vers_httpd")) {
|
|
tplSend(connData, httpdGetVersion(), -1);
|
|
}
|
|
|
|
return HTTPD_CGI_DONE;
|
|
}
|
|
|
|
|
|
/**
|
|
* Application routes
|
|
*/
|
|
const HttpdBuiltInUrl routes[] = {
|
|
// TODO password lock ...
|
|
|
|
// --- Web pages ---
|
|
// ROUTE_TPL_FILE("/", tplIndex, "/index.tpl"),
|
|
ROUTE_FILE("/", "index.html"),
|
|
|
|
ROUTE_FILESYSTEM(),
|
|
ROUTE_END(),
|
|
};
|
|
|
|
void sigpipe_handler(int unused)
|
|
{
|
|
}
|
|
|
|
int main()
|
|
{
|
|
printf("Hello, World!\n");
|
|
|
|
// prevent abort on sigpipe
|
|
sigaction(SIGPIPE, &(struct sigaction) {sigpipe_handler}, NULL);
|
|
|
|
struct httpd_options opts = {
|
|
.port = 8080,
|
|
};
|
|
|
|
httpd_thread_handle_t *handle = httpdInit(routes, &opts);
|
|
httpdSetName("ServerName");
|
|
|
|
httpdJoin(handle);
|
|
|
|
return 0;
|
|
}
|
|
|
|
int httpdPlatEspfsRead(void *dest, uint32_t offset, size_t len)
|
|
{
|
|
if (offset + len > espfs_image_len) {
|
|
return -1;
|
|
}
|
|
|
|
memcpy(dest, &espfs_image[offset], len);
|
|
return 0;
|
|
}
|
|
|