itUse image filename extension as mimetype - phroxy - Gopher to HTTP proxy Err z3bra.org 70 hgit clone git://git.z3bra.org/phroxy.git URL:git://git.z3bra.org/phroxy.git z3bra.org 70 1Log /scm/phroxy/log.gph z3bra.org 70 1Files /scm/phroxy/files.gph z3bra.org 70 1Refs /scm/phroxy/refs.gph z3bra.org 70 1LICENSE /scm/phroxy/file/LICENSE.gph z3bra.org 70 i--- Err z3bra.org 70 1commit aa14b0f30641e561646bf803aa212a65eefdab1a /scm/phroxy/commit/aa14b0f30641e561646bf803aa212a65eefdab1a.gph z3bra.org 70 1parent f73785325b3aa56daa62891ffefa9fc7ef19c9c1 /scm/phroxy/commit/f73785325b3aa56daa62891ffefa9fc7ef19c9c1.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:dev@z3bra.org z3bra.org 70 iDate: Mon, 21 Sep 2020 15:31:22 +0200 Err z3bra.org 70 i Err z3bra.org 70 iUse image filename extension as mimetype Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M phroxy.c | 15 +++++++++++---- Err z3bra.org 70 i Err z3bra.org 70 i1 file changed, 11 insertions(+), 4 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/phroxy.c b/phroxy.c /scm/phroxy/file/phroxy.c.gph z3bra.org 70 it@@ -154,8 +154,10 @@ printhttp(int code) Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i char * Err z3bra.org 70 i-contenttype(char i) Err z3bra.org 70 i+contenttype(char i, char *path) Err z3bra.org 70 i { Err z3bra.org 70 i+ static char *ext, type[12]; Err z3bra.org 70 i+ Err z3bra.org 70 i switch(i) { Err z3bra.org 70 i case '0': Err z3bra.org 70 i case '1': Err z3bra.org 70 it@@ -172,7 +174,12 @@ contenttype(char i) Err z3bra.org 70 i return "application/octet-stream"; Err z3bra.org 70 i break; /* NOTREACHED */ Err z3bra.org 70 i case 'I': Err z3bra.org 70 i- return "image/*"; Err z3bra.org 70 i+ if (!(ext = strrchr(path, '.'))) Err z3bra.org 70 i+ return "image/*"; Err z3bra.org 70 i+ Err z3bra.org 70 i+ /* assume 4 chars max for extension */ Err z3bra.org 70 i+ snprintf(type, 11, "image/%s", ext + 1); Err z3bra.org 70 i+ return type; Err z3bra.org 70 i break; /* NOTREACHED */ Err z3bra.org 70 i case 'g': Err z3bra.org 70 i return "image/gif"; Err z3bra.org 70 it@@ -278,7 +285,7 @@ printhtml(int fd, const char *data, size_t len) Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i int Err z3bra.org 70 i-serveitem(char item, char *data, size_t len) Err z3bra.org 70 i+serveitem(char item, char *path, char *data, size_t len) Err z3bra.org 70 i { Err z3bra.org 70 i char *send; Err z3bra.org 70 i int sent; Err z3bra.org 70 it@@ -384,7 +391,7 @@ phroxy(char *url) Err z3bra.org 70 i return 1; Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i- serveitem(item, data, len); Err z3bra.org 70 i+ serveitem(item, path, data, len); Err z3bra.org 70 i Err z3bra.org 70 i return 0; Err z3bra.org 70 i } Err z3bra.org 70 .