Add license and readme
This commit is contained in:
parent
d37b15ab2b
commit
5ebb88f0ef
2 changed files with 68 additions and 0 deletions
28
LICENSE
Normal file
28
LICENSE
Normal file
|
@ -0,0 +1,28 @@
|
|||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2023, Dimitri Lozeve
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
40
README.org
Normal file
40
README.org
Normal file
|
@ -0,0 +1,40 @@
|
|||
* BQN HTTP library
|
||||
|
||||
FFI bindings to [[https://curl.se/libcurl/][libcurl]] for [[https://mlochbaum.github.io/BQN/][BQN]].
|
||||
|
||||
** Making requests
|
||||
|
||||
Only GET and POST requests are implemented at this time.
|
||||
|
||||
#+begin_src bqn
|
||||
⟨Get,Post⟩←•Import"curl.bqn"
|
||||
#+end_src
|
||||
|
||||
Simple GET requests:
|
||||
#+begin_src bqn
|
||||
r←Get"https://httpbin.org/get"
|
||||
#+end_src
|
||||
|
||||
You can pass headers as a left argument:
|
||||
#+begin_src bqn
|
||||
r←⟨"Content-Type: application/json"⟩Get"https://httpbin.org/get"
|
||||
#+end_src
|
||||
|
||||
Arguments, port number, etc, can be included in the URL.
|
||||
|
||||
For POST requests, pass data as an additional string parameter. It
|
||||
will not be converted or encoded in any way.
|
||||
#+begin_src bqn
|
||||
r←⟨"Content-Type: application/json"⟩Post"https://httpbin.org/post"‿"{""key"": ""value""}"
|
||||
#+end_src
|
||||
|
||||
** Response objects
|
||||
|
||||
The response object is a namespace with the following elements:
|
||||
- ~code~: the response code.
|
||||
- ~headers~: the response headers as a single string, separated by newlines.
|
||||
- ~content~: the response content, as raw bytes.
|
||||
- ~time~: the time the request took, in seconds.
|
||||
|
||||
If your endpoint returns text, you can use ~FromBytes~ from
|
||||
[[https://github.com/mlochbaum/bqn-libs/blob/master/strings.bqn][bqn-libs/strings.bqn]] to decode UTF-8.
|
Loading…
Add table
Add a link
Reference in a new issue