diff --git a/dist/antd-1.0.4b.tar.gz b/dist/antd-1.0.4b.tar.gz index e5d039e..3acb0b9 100644 Binary files a/dist/antd-1.0.4b.tar.gz and b/dist/antd-1.0.4b.tar.gz differ diff --git a/http_server.c b/http_server.c index 0238815..acd9815 100644 --- a/http_server.c +++ b/http_server.c @@ -482,11 +482,26 @@ void *serve_file(void *data) task->priority++; char *path = (char *)dvalue(rq->request, "ABS_RESOURCE_PATH"); char *mime_type = (char *)dvalue(rq->request, "RESOURCE_MIME"); - ctype(rq->client, mime_type); + // find content length /*if (is_bin(path)) __fb(rq->client, path); else*/ - __f(rq->client, path); + struct stat st; + int s = stat(path, &st); + if(s == -1) + { + notfound(rq->client); + } + else + { + int size = (int)st.st_size; + set_status(rq->client,200,"OK"); + __t(rq->client,"Content-Type: %s",mime_type); + __t(rq->client,"Content-Length: %d",size); + response(rq->client,""); + __f(rq->client, path); + } + return task; }