Packages

General purpose data, functions, and utilities for use by LFE/Erlang HTTP clients, servers, URL-parsers, web frameworks, etc.

Current section

Files

Jump to
lfe_http src http.request.lfe
Raw

src/http.request.lfe

(defmodule http.request
(export
(new 1) (new 2) (new 3) (new 4)))
(defun new
((url) (when (is_list url))
(new (list_to_binary url)))
((url)
`#m(method 'undefined
version ,(http:default-version)
headers ,(http:default-headers)
body #""
url ,url
url-parsed ,(yuri:parse url)
path-segments ()
query-parsed ())))
(defun new (method url)
(new method url #""))
(defun new (method url body)
(new method url body (http:default-headers)))
(defun new (method url body headers)
(let* ((init (new url))
(url (mref init 'url-parsed)))
(maps:merge init
`#m(method ,method
body ,body
headers ,headers
path-segments ,(yuri.path:->segments (mref url 'path))
query-parsed ,(yuri.query:parse (mref url 'query))))))