def post(data = {})
      request = Request.new(@uri,
        headers: @headers,
        data: data,
      )
      request.post
    end
def post(data = {})
      request = Request.new(@uri,
        headers: @headers,
        data: data,
      )
      request.post
    end
POST's a resource from the URI and returns the result based on its content
 type. JSON content will be parsed and returned as equivalent Ruby objects.
 All other content types will be returned as text.

 Assuming an api where each resource is namespaced with 'api/v1' and where
 the url http://www.example.com/api/v1/foo/create responds with the
 following when a 'name' is sent with the request.

 Header:

   Content-Type: application/json

 Body:

   {
     "name": "New Foo"
   }

 == Example

   class ExampleApi < HttpMagic::Api
     url 'www.example.com'
     namespace 'api/v1'
   end

   ExampleApi.foo.create.post(name: 'New Foo')
   => { "name" => "New Foo" }