                           (ycmd--log-content "HTTP RESPONSE CONTENT" data)
                           data)))
          (request-args (list :type type :params params :data content
-                             :parser parser :headers headers
+                             :parser 'json-read :headers headers
                              :timeout timeout)))
     (ycmd--log-content "HTTP REQUEST CONTENT" content)
 

timeout specified by `ycmd-delete-process-delay', then kill the
process with `delete-process'."
  (let ((start-time (float-time)))
    (ycmd--request
     "/shutdown" nil
     :parser 'json-read :sync t :timeout 0.1)
    (while (and (ycmd-running?)
                (> ycmd-delete-process-delay
                   (- (float-time) start-time)))

(cl-defun ycmd--request (location
                         content
                         &key
                         (type "POST")
                         (params nil)
                         (sync nil)
