   """
   @spec post(Client.t, String.t, HTTPoison.body) :: response
   def post(%Client{} = client, path, body \\ "") do
-    request(:post, client, path, body)
+    __request__(:post, client, path, body) |> process_response
   end
 
   @doc """

  """
  @spec get(Client.t, String.t) :: response
  def get(%Client{} = client, path) do
    request(:get, client, path)
  end

  @doc """

  """
  @spec put(Client.t, String.t, HTTPoison.body) :: response
  def put(%Client{} = client, path, body \\ "") do
    __request__(:put, client, path, body) |> process_response
  end

  @doc false
  @spec __request__(method, Client.t, String.t, HTTPoison.body) :: HTTPoison.Response.t
  def __request__(method, %Client{} = client, path, body \\ "") do
    url = client.endpoint <> path
    HTTPoison.request!(method, url, body, headers(client))
  end

  # https://docs.travis-ci.com/api/#making-requests
