Guest User

Untitled

a guest
Jan 1st, 2015
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Nim 1.08 KB | None | 0 0
  1. import asyncdispatch, jester, json, marshal
  2.  
  3. type
  4.     Release = object
  5.         version: string
  6.         uri: string
  7.         downMethod: string
  8.  
  9.     Package = object
  10.         name: string
  11.         versions: seq[Release]
  12.         tags: seq[string]
  13.  
  14. routes:
  15.     get "/packages/@name":
  16.         var releases = @[
  17.             Release(version: "foo", uri: "http://github.com/ekarlso/foo", downMethod: "git"),
  18.             Release(version: "0.0.1", uri: "http://github.com/ekarlso/foo/001.tar.gz", downMethod: "http")
  19.         ]
  20.  
  21.         var pkgs = @[
  22.             Package(name: @"mysql", tags: @["foo"], versions: releases),
  23.             Package(name: @"rsync", tags: @["foo"], versions: releases)
  24.         ]
  25.  
  26.         var pkg_array = newJArray()
  27.  
  28.         for pkg in pkgs:
  29.             var tags = newJArray()
  30.  
  31.             for t in pkg.tags:
  32.                 tags.add(%t)
  33.  
  34.             pkg_array.add(
  35.                 %{
  36.                     "name": %pkg.name,
  37.                     "tags": tags
  38.                 }
  39.             )
  40.  
  41.         resp($pkg_array), "application/json"
  42.  
  43. runForever()
Advertisement
Add Comment
Please, Sign In to add comment