       (let ((request-buffer (current-buffer))
             (request-point (point)))
         (deferred:$
-          (ycmd--send-completer-command-request type)
+          (ycmd--send-completer-command-request
+           type request-buffer request-point)
           (deferred:nextc it
             (lambda (result)
               (when result

                  (when success-handler
                    (funcall success-handler result)))))))))))

(defun ycmd--send-completer-command-request (type)
  "Send Go To request of TYPE to BUFFER at POS."
  (let* ((buffer (current-buffer))
         (content (cons (list "command_arguments" type)
                        (ycmd--standard-content buffer))))
    (ycmd--request
     "/run_completer_command"
     content

      s
    (encode-coding-string s 'utf-8 t)))

(defun ycmd--standard-content (&optional buffer pos)
  "Generate the 'standard' content for ycmd posts.

This extracts a bunch of information from BUFFER.  If BUFFER is
nil, this uses the current buffer."
  (with-current-buffer (or buffer (current-buffer))
    (let* ((column-num (+ 1 (ycmd--column-in-bytes)))
           (line-num (line-number-at-pos (or pos (point))))
           (full-path (ycmd--encode-string (or (buffer-file-name) "")))
           (file-contents (ycmd--encode-string
                           (buffer-substring-no-properties
