b0VIM 7.3hR4'/YdanielDaniel-Kvasnickas-MacBook-Pro.local~daniel/Projekty/racket-riak/main.rkt 3210#"! UtpRad iRkY@)b;:  U & J A i h J  ]  N M " v#"g6mlMih (str "http://" host ":" port "/buckets/" bucket "/keys?keys=true")))) 'keys)) (hash-ref (read-json (get-pure-port (string->url (define [get-all-keys bucket] (map string->jsexpr (get-all-strings bucket)))(define [get-all-jsons bucket] (list (str "Content-Type: " ctype.json))))) "\", \"query\":[{\"map\":{\"language\":\"javascript\",\"source\":\"function(v) { return [v.values[0].data]; }\"}}]}")) (str "{\"inputs\":\"" bucket (string->bytes/utf-8 (str "http://" host ":" port "/mapred")) (string->url (read-json (post-pure-port (define [get-all-strings bucket] (str "http://" host ":" port "/buckets/" bucket "/keys/" key)))) (delete-pure-port (string->url (define [delete bucket key] (read-json (get key bucket)))(define [get-json key [bucket "bucket"]] (port->string (get key bucket)))(define [get-string key [bucket "bucket"]] [else (raise (make-exn status (current-continuation-marks)))]))) ["200" response] (match status [status (substring header 9 12)]) [header (purify-port response)] (str "http://" host ":" port "/riak/" bucket "/" key)))] (let* ([response (get-impure-port (string->url (define [get key [bucket "bucket"]] [(bucket data key) (put bucket (jsexpr->string data) key ctype.json)])) [(bucket data) (put bucket (jsexpr->string data) ctype.json)](define put-json (case-lambda [(bucket data key) (put bucket data key ctype.text)])) [(bucket data) (put bucket data ctype.text)](define put-string (case-lambda [(bucket data key ctype) (raise "Not implemented yet!")])) (list (str "Content-Type: " ctype))))) "/"))] (string->bytes/utf-8 data) (str "http://" host ":" port "/riak/" bucket)) (string->url (post-impure-port (purify-port (extract-field "Location" [(bucket data ctype) (last (string-split (define put (case-lambda (define ctype.json "application/json")(define ctype.text "text/plain")(define str string-append)(define port "8098")(define host "localhost") ctype.json) ctype.text delete get-all-keys get-all-jsons get-all-strings get-json get-string get put-json put-string(provide put json) net/head(require net/url#lang racket