Convertendo o comando cURL em ob-http

7

Eu tenho toda uma série de comandos curl que gostaria de converter em ob-httpblocos de código em um arquivo organizacional (a segunda opção seria executá-los restclient).

Aqui está um comando de amostra simplificado:

curl -X POST
     --proxy http://my-proxy.local:9001 \
     --data "foo=bar" \
     --data "fizz=buzz" \
     --header "Content-Type:application/x-www-form-urlencoded" \
     --header "my-custom-header" \
     http://my-server.local/my/endpoint 

(O json resultante retornado por esta chamada seria usado na próxima chamada)

Como posso converter o ob-httpcódigo acima em bloco de código (ou restclientarquivo de texto , se ob-httpnão houver suporte)


Encontrei essa pergunta antiga, mas ela não cobre totalmente meu caso de uso e não vi nos documentos vinculados como realizar a conversão acima: Como testar a API REST com o Emacs?

Sukotto
fonte

Respostas:

1

Na verdade, é bem direto:

#+begin_src http :proxy http://my-proxy.local:9001
POST http://my-server.local/my/endpoint
my-custom-header

foo=bar
&fizz=buzz
#+end_src

Você também pode escrever o corpo da postagem em uma única linha. Várias linhas devem ser mais legíveis para longas listas de parâmetros. curl(que é usado por ob-httppara a chamada real) removerá os espaços em branco de qualquer maneira. Se você usar &no início ou no final da linha, é apenas uma questão de gosto. Usá-lo no início tem a vantagem de que você só precisa alterar uma linha ao anexar parâmetros (mas seria o contrário se você preferir adicioná-los no início).

O cabeçalho Content-Type: application/x-www-form-urlencodedé definido por padrão para POST, mas você também pode adicioná-lo explicitamente. Basta adicioná-lo como outra linha depois, POSTjuntamente com os outros parâmetros do cabeçalho.

David Ongaro
fonte