Convertir el comando cURL a ob-http

7

Tengo toda una serie de comandos curl que me gustaría convertir en ob-httpbloques de código en un archivo de organización (la segunda opción sería hacerlos restclient).

Aquí hay un comando de muestra 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 

(El json resultante devuelto por esta llamada se usaría en la próxima llamada)

¿Cómo puedo convertir lo anterior en ob-httpbloque de código (o restclientarchivo de texto si ob-httpno es compatible)


Encontré esta vieja pregunta, pero no cubre completamente mi caso de uso, y no vi en los documentos vinculados cómo realizar la conversión anterior: ¿Cómo probar la API REST con Emacs?

Sukotto
fuente

Respuestas:

1

En realidad es bastante sencillo:

#+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

También puede escribir el cuerpo de la publicación en una sola línea. Sin embargo, varias líneas deberían ser más legibles para largas listas de parámetros. curl(que se usa ob-httppara la llamada real) eliminará los espacios en blanco de todos modos. Si lo usa &al principio o al final de la línea es solo cuestión de gustos. Usarlo al principio tiene la ventaja de que solo tiene que cambiar una línea al agregar parámetros (pero sería al revés si prefiere agregarlos al principio).

El encabezado Content-Type: application/x-www-form-urlencodedestá configurado de forma predeterminada para POST, pero también puede agregarlo explícitamente. Simplemente agréguelo como otra línea después POSTjunto con los otros parámetros del encabezado.

David Ongaro
fuente