From 3ff8f9a0c672eb36f51987b984220a72d1460ef1 Mon Sep 17 00:00:00 2001 From: Ruthenic Date: Mon, 2 May 2022 23:41:05 -0400 Subject: [PATCH] attempt to send binary data (for images, etc) --- bin/httpsrv | Bin 17592 -> 17592 bytes bin/main | Bin 17568 -> 0 bytes lib/file.h | 10 ++++------ src/srv.c | 5 +++-- 4 files changed, 7 insertions(+), 8 deletions(-) delete mode 100755 bin/main diff --git a/bin/httpsrv b/bin/httpsrv index bd959293e3129ad96d65bce73259441b024e39da..d4d0c49c550939ecfba692f3842a6285e5e59d64 100755 GIT binary patch delta 1565 zcmZ9Me{54#6vy9d8Fb=CVZYkih61%;^Y z=o7G!H2#q9Y4s;A*Yb^3{yKJQq^WVW&p3|cVlDma10l{*AG`1fy)yj@Y7e81uDws$ zDQyCaktRc*B(>|X#fqCHyK-KpYX^xm9r#!c+=xy!wzcBO3{F=`mc`zH zseOjseS~=f`oK=2b15vh-s4w&th_F!J3rVxzbGHe21?z7kZt&bs-J5SPyPGW`#hEQXoB--67K7tokuWxy80 zFN(=KW=km`;h@amMgI!_aj8_>gdex5J%{hPkUXhFyd%(|?&ezp&!{i+{yjJa1vWziPgi~mw&xsmX70vM(+XFOAYf~GfytSID&AU!{^#P zA*S&URgJq#ZUQKN6Q2`&ab&5Q&8&;GEm1ALIeJnZ=J%p&>%VV76wfq&wsT*@tZgW> XD7B1#<7&#}I(_x(OyTkd}Wsk8nZ delta 1552 zcmZ{ke`r%z6vy99tWBMEwQZU-CRAnp^%G_#a1VPGpS(L>en^9Yz-*aEumkstHx$m6w zIp=%My*KI6SdYfK+MVT6-&Y4~HQwVhG6@h4o*DFuiGVmS1)^ zIZ|)=8+X9-HMsSfdgTErt6$NA>c8?(MKJs!G}QREkRENx4`0VHcZ$TQJv4{WfEqm{ zoO*|GboD#Xy%S)g(kaCLr$$$PjTf&+YtWVmMZetSE~)p*^D7p^MONyM_fPjKw1&(#bb@g5i&ZxO$wh z)}M%$T1rq$m{xL@|tbPXyo_3RpAA~ldvw!8DuGuC?()@GD+HGu`74!B=kt92t-8y z@kfN!IrA%ggPtjsLO8*Ze`vj;M9z^%7uVq;wvujNEwwmZxL~b?mD)(hsxQy3Rc4ph z%mmg_U?h2WWqDvvA)Sz%MU;L^S*tIr>p%J9%DI(CtkD*l_*tv-@jVg{BS-mc-yHTi zU*Vgnws|wPTh}$E?#NZqM76;}>a4H3LaWRwV zvya9wCeVOmiT&fp?oq9kSf=O&6*c5lsk0OfZ}UfUya$aiE5V0^KZ2ByFgo}GzxT7v zcF|jC6PI%xn6o*i5UzAH90!C$sHA1s9XX&Lbv3ae=@8sobMBw{X@7uC?4VyrgkDP<|Xr2ZJYz@OEBT=dY5 iD4ryr)v$GvkbpIeQqy_2qbwG0@D{Ob?DvI_obLfiYxpVv diff --git a/bin/main b/bin/main deleted file mode 100755 index 5840d7c67becbfc41542caa5350e50b01e827b05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17568 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 SnQHbkFH;(4Rv1*U;=cf8zW00p diff --git a/lib/file.h b/lib/file.h index 30c0599..2a29ba2 100644 --- a/lib/file.h +++ b/lib/file.h @@ -4,7 +4,7 @@ #include #include -char* readFile(char* path) { +void* readFile(char* path) { path++; if (strlen(path) <= 1) { printf("/ converted to /index.html\n"); @@ -17,15 +17,13 @@ char* readFile(char* path) { errno = -1; return ""; } - char* buf = NULL; + void* buf = NULL; fseek(fp, 0, SEEK_END); int length = ftell(fp); rewind(fp); - buf = (char*)malloc(sizeof(char) * (length + 1)); + buf = malloc(sizeof(char) * (length + 1)); fread(buf, sizeof(char), length, fp); - buf[length] = '\0'; - char* tmp = buf; - return tmp; + return buf; } diff --git a/src/srv.c b/src/srv.c index d8d8ee8..e469737 100644 --- a/src/srv.c +++ b/src/srv.c @@ -45,7 +45,7 @@ int srv(char* ADDR, int PORT) { char* tPath = request.path; char* dot = strrchr(tPath, '.'); - char *file = readFile(request.path); + void *file = readFile(request.path); ResHeader rawHeader; rawHeader.protocol = request.protocol; rawHeader.status = 200; @@ -75,8 +75,9 @@ int srv(char* ADDR, int PORT) { char tmpHeader[1024]; makeHeader(tmpHeader, &rawHeader); char resHeader[1024]; //= "HTTP/1.1 200 OK\r\n\nHello, world!"; - sprintf(resHeader, "%s%s", (char*)tmpHeader, file); + sprintf(resHeader, "%s", (char*)tmpHeader); send(client, resHeader, strlen(resHeader), 0); + send(client, (void*)(&file), sizeof(file), 0); close(client); } }