Use sendFile, refactor mimetypes
This commit is contained in:
parent
59e392e3b4
commit
cfcd471ffc
|
@ -1,4 +1,4 @@
|
|||
import asyncdispatch
|
||||
import asyncdispatch, mimetypes
|
||||
from net import Port
|
||||
|
||||
import jester
|
||||
|
@ -55,4 +55,6 @@ routes:
|
|||
extend status, ""
|
||||
extend media, ""
|
||||
|
||||
settings.mimes.register("1500x500", "image/jpeg")
|
||||
|
||||
runForever()
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import asyncfile, uri, strutils, httpclient, os
|
||||
import asyncfile, uri, strutils, httpclient, os, mimetypes
|
||||
|
||||
import jester, regex
|
||||
|
||||
|
@ -32,14 +32,7 @@ proc createMediaRouter*(cfg: Config) =
|
|||
except:
|
||||
discard
|
||||
|
||||
if not existsFile(filename):
|
||||
halt Http404
|
||||
|
||||
let file = openAsync(filename)
|
||||
let buf = await readAll(file)
|
||||
file.close()
|
||||
|
||||
resp buf, mimetype(filename)
|
||||
sendFile(filename)
|
||||
|
||||
get "/gif/@url":
|
||||
cond "http" in @"url"
|
||||
|
@ -60,7 +53,7 @@ proc createMediaRouter*(cfg: Config) =
|
|||
if content.len == 0:
|
||||
halt Http404
|
||||
|
||||
resp content, mimetype(url)
|
||||
resp content, settings.mimes.getMimetype(url.split(".")[^1])
|
||||
|
||||
get "/video/@sig/@url":
|
||||
cond "http" in @"url"
|
||||
|
@ -83,4 +76,5 @@ proc createMediaRouter*(cfg: Config) =
|
|||
content = proxifyVideo(content, prefs.proxyVideos)
|
||||
|
||||
client.close()
|
||||
resp content, mimetype(url)
|
||||
let ext = parseUri(url).path.split(".")[^1]
|
||||
resp content, settings.mimes.getMimetype(ext)
|
||||
|
|
|
@ -11,16 +11,6 @@ const
|
|||
"video.twimg.com"
|
||||
]
|
||||
|
||||
proc mimetype*(filename: string): string =
|
||||
if ".png" in filename:
|
||||
"image/" & "png"
|
||||
elif ".jpg" in filename or ".jpeg" in filename or "1500x500" in filename:
|
||||
"image/" & "jpg"
|
||||
elif ".mp4" in filename:
|
||||
"video/" & "mp4"
|
||||
else:
|
||||
"text/plain"
|
||||
|
||||
proc getHmac*(data: string): string =
|
||||
($hmac(sha256, key, data))[0 .. 12]
|
||||
|
||||
|
|
Loading…
Reference in New Issue