Eu uso url-retrieve-synchronously
para baixar um arquivo JSON de um servidor remoto. Esta função retorna um buffer que contém todo o conteúdo da resposta, incluindo os cabeçalhos HTTP. No entanto, estou apenas interessado no corpo.
Agora, além de analisar uma resposta HTTP manualmente, como posso pular para o início do corpo? Eu encontrei a variável url-http-end-of-headers
, que funciona, mas não está documentada, e usá-la parece "suja". Existe uma API adequada para esse fim?
url-http-end-of-headers
é preferível a essa abordagem. Eu realmente esperava algo comourl-http-goto-body
:( #Uma alternativa de nível superior ao uso
url-http-end-of-headers
, mas igualmente indocumentada, éurl-insert-file-contents
:ou equivalente, antes do Emacs 27 compilado com suporte JSON nativo:
Isso resulta em:
A função
url-insert-file-contents
envolve as funções mais bem documentadasurl-insert-buffer-contents
eurl-insert
e, portanto, vem com os seguintes extras:url-http-response-status
.FWIW, ele também vem com a garantia de ser usado por
lisp/emacs-lisp/package.el
.fonte