24 lines
614 B
Racket
24 lines
614 B
Racket
#lang racket/base
|
|
(require racket/list
|
|
racket/contract
|
|
web-server/http
|
|
web-server/dispatch)
|
|
|
|
(define (response/sexpr v)
|
|
(response 200 #"Okay" (current-seconds)
|
|
#"text/s-expr" empty
|
|
(λ (op) (write v op))))
|
|
|
|
(define (planet2-index/basic pkg-name->info)
|
|
(define (write-info req pkg-name)
|
|
(response/sexpr (pkg-name->info pkg-name)))
|
|
(define-values (dispatch get-url)
|
|
(dispatch-rules
|
|
[("pkg" (string-arg)) write-info]))
|
|
dispatch)
|
|
|
|
(provide/contract
|
|
[planet2-index/basic
|
|
(-> (-> string? (hash/c symbol? any/c))
|
|
(-> request? response?))])
|