| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import asyncdispatch
- from net import Port
- import jester
- import types, config, prefs, formatters
- import views/[general, about]
- import routes/[
- preferences, timeline, status, media, search, rss, list, unsupported]
- const configPath {.strdefine.} = "./nitter.conf"
- let cfg = getConfig(configPath)
- createUnsupportedRouter(cfg)
- createPrefRouter(cfg)
- createTimelineRouter(cfg)
- createListRouter(cfg)
- createStatusRouter(cfg)
- createSearchRouter(cfg)
- createMediaRouter(cfg)
- createRssRouter(cfg)
- settings:
- port = Port(cfg.port)
- staticDir = cfg.staticDir
- bindAddr = cfg.address
- routes:
- get "/":
- resp renderMain(renderSearch(), request, cfg)
- get "/about":
- resp renderMain(renderAbout(), request, cfg)
- get "/explore":
- redirect("/about")
- get "/help":
- redirect("/about")
- get "/i/redirect":
- let url = decodeUrl(@"url")
- if url.len == 0: halt Http404
- redirect(replaceUrl(url, cookiePrefs()))
- error Http404:
- resp showError("Page not found", cfg)
- extend unsupported, ""
- extend preferences, ""
- extend rss, ""
- extend search, ""
- extend timeline, ""
- extend list, ""
- extend status, ""
- extend media, ""
- runForever()
|