abrochard / walkman Goto Github PK
View Code? Open in Web Editor NEWWrite HTTP requests in Org mode and replay them at will using cURL
License: GNU General Public License v3.0
Write HTTP requests in Org mode and replay them at will using cURL
License: GNU General Public License v3.0
Hey @abrochard,
I want to stop just asking for stuff and try to start contributing. I want to tackle something that you have in your TODO in the README: adding support for async requests. Do you already have an idea on how to accomplish this?
From my quick research there's two packages that might be interesting to look at:
What's your opinion on the above? Thanks! ๐
as title.
Hi ๐
I've recently updated to Emacs 28 and I can't seem to use any of the walkman
commands anymore.
First it said that the Lisp nesting level was exceeded. I bumped the max-lisp-eval-depth
variable, and then also needed to bump the max-specpdl-size
. Afterwards, I still get Re-entering top level after C stack overflow
when trying any walkman command - even just trying to copy the command to curl
.
Any hints on what's happening?
Whenever I do a request that receives a huge JSON payload in the body, I have to copy it and format it in some other way to make it readable. Is there already some way to do this currently with walkman
? The usual way to do this in cURL is piping it to some other tool (like jq
or json_pp
). Maybe walkman
could support something similar (that would be configurable)? Thanks ๐
Hey @abrochard, first of all thank you for this really cool package ๐ (and I'm also a fan of kubel
๐)
I have to interact with a lot of APIs that require the upload of files through multi-part. Is that something that's easy / feasible to add in this library? I didn't study it yet, and I don't know the backend for making the requests, but I can try to provider some cURL examples of what I'd like to have.
Thanks again ๐โโ๏ธ
Hey @abrochard, it's me again ๐
Having the following snippet:
* Some request
POST http://some-url
- Authorization: Bearer `my-token`
:FORM:
- type: document
- file: [[/home/dcaixinha/test_document.png]]
:END:
1. First callback
#+begin_src emacs-lisp
(lambda (status headers body)
(message "status %s, headers %s, body %s" status headers body))
#+end_src
I can't get the callback to run. I've copied it from the sample.org
file, but it always errors with:
walkman--parse-response: Search failed: "^HTTP/[0-9]\\.?[0-9]? \\([0-9]\\{3\\}\\) \\([A-Z ]+\\)?"
If I remove the :FORM
drawer from the request than everything works. I've tried looking at the function that's giving the error but couldn't figure out why having the drawer there yields an error. Can you help me out pleas? ๐
I need to do requests using certificates: how could I do them?
How could I add extra options to curl (like -K filename) ?
Thanks in advance
Matteo
Hey @abrochard, this isn't exactly a bug but more of a help request.
Before using walkman
I used to use File Variables to have a different file for staging and production API (setting the URLs and tokens with variables accordingly). I was trying to do the same with walkman but apparently the variable needs to be global. For example I would have a staging.org
file with:
-*- walkman-api-url: "https://some-api"; walkman-api-token: "bogus_token" -*-
* Simple GET
GET `walkman-api-url`/some-get-endpoint
- Authorization: Bearer `walkman-api-token`
But then I get Symbol's value as variable is void: walkman-api-url
. I was also thinking that the same could be achieved by having some sort of pre-request hook and then have all the environments in the same file. For example in http.org
I would wave:
* Staging
** Simple GET
<some hook to set `walkman-api-url` and `walkman-api-token`
GET `walkman-api-url`/some-get-endpoint
- Authorization: Bearer `walkman-api-token`
* Production
** Simple GET
<some hook to set `walkman-api-url` and `walkman-api-token`
GET `walkman-api-url`/some-get-endpoint
- Authorization: Bearer `walkman-api-token`
Which one would you say is the best way @abrochard? Or would you do this differently? Thanks ๐โโ๏ธ
I just installed walkman via M-x package-install and encountered this warning:
walkman.el:365:1:Warning: the following functions are not known to be defined:
json-pretty-print, json-mode
json-pretty-print
is from json.el
so it needs to be loaded. and json-mode
is provied by a third party package json-mode, which is not avaliable if user does not installed by themself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.