From 162052d17b9c7c7525531bbf86e01c13112af0c1 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Thu, 13 Aug 2015 19:47:00 -0700 Subject: [PATCH] Serve /all --- Makefile | 2 +- ponyapi.nim | 38 +++++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 50f104a..aec4956 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ build: - nim c -d:release --deadcodeElim:on --hints:off ponyapi + nim c --deadcodeElim:on --hints:off ponyapi run: build ./ponyapi diff --git a/ponyapi.nim b/ponyapi.nim index 7b422c6..1eaefad 100644 --- a/ponyapi.nim +++ b/ponyapi.nim @@ -1,3 +1,4 @@ +import asyncdispatch import jester import json import strutils @@ -32,4 +33,39 @@ for line in lines "./fim.list": episodes = episodes & ep -echo episodes +proc `%`(ep: Episode): JsonNode = + %* + { + "name": ep.name, + "air_date": ep.air_date, + "season": ep.season, + "episode": ep.episode, + "is_movie": ep.is_movie, + } + +proc `%`(eps: seq[Episode]): JsonNode = + var ret = newJArray() + + for ep in episodes: + add ret, %ep + + ret + +settings: + port = 5000.Port + bindAddr = "0.0.0.0" + +routes: + get "/": + "http://github.com/Xe/PonyAPI".uri.redirect + + get "/all": + let headers = {"Content-Type": "application/json"} + var rep = %* + { + "episodes": episodes, + } + + resp Http200, headers, pretty(rep, 4) + +runForever()