Function: mcp--parse-http-header
mcp--parse-http-header is a natively compiled function defined in
mcp.el.
Signature
(mcp--parse-http-header HEADERS)
Documentation
Parse HTTP response headers into a plist.
HEADERS is a string containing the raw HTTP response headers. Returns a plist where each header field is a keyword (e.g. :content-type) with its corresponding value.
Example:
(mcp--parse-http-header "Content-Type: text/html\\r\\nServer: nginx\\r\\n")
=> (:content-type "text/html" :server "nginx")
Source Code
;; Defined in /nix/store/5m747x13pb1ddrvbq9raj91c4q1h1kl0-emacs-packages-deps/share/emacs/site-lisp/elpa/mcp-20260615.940/mcp.el
(defun mcp--parse-http-header (headers)
"Parse HTTP response headers into a plist.
HEADERS is a string containing the raw HTTP response headers.
Returns a plist where each header field is a keyword (e.g. :content-type)
with its corresponding value.
Example:
(mcp--parse-http-header \"Content-Type: text/html\\r\\nServer: nginx\\r\\n\")
=> (:content-type \"text/html\" :server \"nginx\")"
(when-let* ((header-lines (split-string headers "\n"))
(status-line (car header-lines))
(res (split-string status-line " "))
(status-code (elt res 1)))
(plist-put (apply #'append
(mapcar (lambda (line)
(when-let* ((line (string-trim line))
(search-sep-pos (string-search ":" line)))
(list (intern
(concat ":"
(downcase
(string-trim
(substring line 0 search-sep-pos)))))
(string-trim
(substring line
(+ search-sep-pos 1))))))
(cdr header-lines)))
:response-code
status-code)))