site/lib/oleg.moon

37 lines
765 B
Plaintext

config = require("lapis.config").get!
http = require "lapis.nginx.http"
request = (method, table, key, value=nil, headers={}) ->
oleg_res, code = http.simple {
url: "http://#{config.oleg.host}:#{config.oleg.port}/#{table}/#{key}"
method: method
body: value
headers: headers
}
if code ~= 200
return nil, code
if not oleg_res
return nil, 404
oleg_res, nil
ret = {}
ret.request = request
--- get gets a key from a table and returns the data and either nil or a error message
ret.get = (tab, key) ->
request "GET", tab, key
--- delete deltes key from tab
ret.delete = (tab, key) ->
request "DELETE", tab, key
--- set sets key in tab to value
ret.set = (tab, key, value) ->
request "POST", tab, key, value
ret