Yes:
//--------------------------------------------------------
static void ev_handler_new(struct mg_connection *nc, int ev, void *p)
{
struct http_message *hm = (struct http_message *) p;
char content[20000] = "";
char *pszContenetx=NULL;
char *pszContenuto=NULL;
char *pszTemp = NULL;
int content_length =0;
int iDimensione_data = 0;
//-------------------------------------------------------
char buf[500] = "";
time_t curt;
struct tm* loct;
//------------------------------------------------------
curt = time (NULL);
loct = localtime (&curt);
strftime (buf, 500, "%d_%m_%Y %H:%M:%S", loct);
//------------------------------------------------------
//------------------------------------------------------
iDimensione_data=strlen(buf);
//------------------------------------------------------
if (ev == MG_EV_HTTP_REQUEST)
{
if (mg_vcmp(&hm->uri, "/hello") == 0)
{
pszContenetx=(char *) malloc(strlen("Hello! CASE LINUX SERVER "))
pszContenuto=(char *) malloc(strlen(pszContenetx)+ iDimensione_data +strlen(" DATE: ")+ 3);
sprintf(pszContenuto,"%s%s%s",pszContenetx," DATE: ",buf);
content_length=strlen(pszContenuto);
mg_printf(nc, "HTTP/1.1 200 OK\r\n" "Content-Type: text/html \r\n" "Content-Length: %d\r\n" "\r\n" "%s",content_length, pszContenuto);
mg_serve_http(nc, hm, s_http_server_opts);
}
else
{
pszTemp=strdup(returnHtmlPageText());
pszContenuto=(char *) malloc(strlen(pszTemp)+ iDimensione_data + 3);
sprintf(pszContenuto,pszTemp,buf);
content_length=strlen(pszContenuto);
mg_printf(nc,"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: %d\r\n\r\n%s",content_length, pszContenuto);
mg_serve_http(nc, hm, s_http_server_opts); /* Serve static content */
}
}
}
int main(int argc, char *argv[])
{
//------------------------------------------------------
struct mg_mgr mgr;
struct mg_connection *nc;
cs_stat_t st;
//------------------------------------------------------
mg_mgr_init(&mgr, NULL);
nc = mg_bind(&mgr, s_http_port, ev_handler_new);
mg_set_protocol_http_websocket(nc);
//------------------------------------------------------
if(argc>1)
{
printf("case VERIFY \n");
s_http_server_opts.document_root = "./verifica"; // root_dir=verifica into root dir exist PIPPO.png
s_http_server_opts.enable_directory_listing = "yes";
s_http_server_opts.custom_mime_types = "text/html";
}
else
{
printf("case image \n");
s_http_server_opts.document_root = "."; // Serve current directory
s_http_server_opts.enable_directory_listing = "yes";
s_http_server_opts.custom_mime_types = "text/html";
}
if (mg_stat(s_http_server_opts.document_root, &st) != 0)
{
printf("Cannot find web_root directory, exiting\n");
exit(1);
}
printf("Starting web server on port %s version %d\n", s_http_port,6);
for (;;) {
mg_mgr_poll(&mgr, 2);
}
mg_mgr_free(&mgr);
return 0;
}
char *returnHtmlPageText()
{
char *pszHtmlPage=NULL;
char *pszHeaderFile = NULL;
char *pszBody=NULL;
char *pszBody1=NULL;
char *pszBody2=NULL;
char *pszBodyDateTemp = NULL;
char *pszBodyDate = NULL;
char buf[500] = "";
time_t curt;
struct tm* loct;
int iDimensione_data = 0;
//------------------------------------------------------
curt = time (NULL);
loct = localtime (&curt);
strftime (buf, 500, "%d_%m_%Y %H:%M:%S", loct);
//------------------------------------------------------
pszHeaderFile=strdup("<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\" /><title>HELLO</title></head>");
pszBody=strdup("<body> "
" <div class=\"content\">"
" <img src='PIPPO.png' style=\"float:right; height: 50px; border-radius: 3px;\">"
" <h1>GOOD MORNING! This root directroy </h1>"
" <table border=\"5\">"
" <tr>"
" <td>"
" <table border=\"2\">"
" <tr><td><img src='PIPPO.png' style=\"float:right; height: 50px; border-radius: 3px;\"></td></tr>"
" <tr><td><img src='PIPPO.png' style=\"float:right; height: 50px; border-radius: 3px;\"></td></tr>"
" <tr><td><img src=\"PIPPO.png\" style=\"float:right; height: 50px; border-radius: 3px;\"></td></tr>"
" </table></td></tr><tr><td>DATE:%s</td></tr></table></div></body></html>");
//-------------------------------------------------------------------------------
pszHtmlPage=(char *) malloc(strlen(pszHeaderFile)+strlen(pszBody)+1);
sprintf(pszHtmlPage,"%s%s",pszHeaderFile,pszBody);
//-------------------------------------------------------------------------------
return pszHtmlPage;
}
//--------------------------------------------------------