| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import asyncdispatch, mimetypes
- 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: resp Http404
- redirect(replaceUrl(url, cookiePrefs()))
- error Http404:
- resp Http404, showError("Page not found", cfg)
- extend unsupported, ""
- extend preferences, ""
- extend rss, ""
- extend search, ""
- extend timeline, ""
- extend list, ""
- extend status, ""
- extend media, ""
|