Home

Awesome

HoLy

What is it?

HoLy is simple a HTTP-server Library for Racket.

Sorry, library in alpha stage! Be carefull API is unstable!

Pull requests are welcome!

We'll make web fucntional again!

Installation

You can install it with using console utillity raco:

raco pkg install https://github.com/nihirash/holy.git

Or with using DrRacket IDE.

Usage

#lang racket
(require HoLy)

(http/get "/"
    (λ (req) "Welcome"))

(http/get "/article/:id"
    (λ (req)
	(let* ((id (request/param 'id)))
	    (string-append "This is article #" id))))

(server/set-port 8080)

(server/run)

API

http/get, http/post, http/delete, http/put

Defines request handler for specified request type.

Parameters are url as string(with possibility usage of placeholders) and callback function.

Example:

(http/get "/article/:id"
    (λ (req)
	(let* ((id (request/param 'id)))
	    (string-append "This is article #" id))))

request/param

Gets request parameter's value(from get/post or placeholder parameter).

Parameter is name of parameter.

request/cookie

Gets cookie value.

Parameter is name of cookie.

response/make

Creates response. It have required parameter content and several rest parameters.

Default values are:

#:code [code 200]
#:message [message #"OK"]
#:seconds [seconds (current-seconds)]
#:mime-type [mime-type TEXT/HTML-MIME-TYPE]
#:headers [headers (list (make-header #"Cache-Control" #"no-cache"))]

Can be used for creating custom response statuses/placing new headers etc.

response/404

Response with 404 status.

server/set-port

Defines port that's be listened with http server

server/run

Run's server event loop

Credits