nitter/src/nitter.nim

41 lines
818 B
Nim
Raw Normal View History

2019-09-06 02:42:35 +02:00
import asyncdispatch
2019-07-31 02:15:43 +02:00
from net import Port
2019-06-20 16:16:20 +02:00
2019-09-06 02:42:35 +02:00
import jester
2019-06-24 23:25:21 +02:00
2019-09-06 02:42:35 +02:00
import types, config, prefs
2019-09-09 04:41:20 +02:00
import views/[general, about]
import routes/[preferences, timeline, media, rss]
2019-06-20 16:16:20 +02:00
2019-07-31 02:15:43 +02:00
const configPath {.strdefine.} = "./nitter.conf"
let cfg = getConfig(configPath)
2019-09-06 02:42:35 +02:00
createPrefRouter(cfg)
createTimelineRouter(cfg)
createMediaRouter(cfg)
createRssRouter(cfg)
2019-07-31 02:15:43 +02:00
settings:
port = Port(cfg.port)
staticDir = cfg.staticDir
bindAddr = cfg.address
2019-06-20 16:16:20 +02:00
routes:
get "/":
2019-08-19 20:25:00 +02:00
resp renderMain(renderSearch(), Prefs(), cfg.title)
2019-06-20 16:16:20 +02:00
2019-09-09 04:41:20 +02:00
get "/about":
resp renderMain(renderAbout(), Prefs(), cfg.title)
2019-06-20 16:16:20 +02:00
post "/search":
if @"query".len == 0:
2019-08-15 23:17:13 +02:00
resp Http404, showError("Please enter a username.", cfg.title)
2019-06-20 16:16:20 +02:00
redirect("/" & @"query")
2019-09-06 02:42:35 +02:00
extend preferences, ""
extend rss, ""
2019-09-06 02:42:35 +02:00
extend timeline, ""
extend media, ""
2019-06-20 16:16:20 +02:00
runForever()