Sha256: b5bd424d34bdfcc6c5585168992ed408f7ce601ec35eb63e0a2fd66c8788baed

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

module TumblrWrapper::HTTP

  def http_get(path, opts={signed: false}, params={})
    validate_oauth if opts[:signed]
    connection = Faraday.new TumblrWrapper.endpoint do |conn|
      conn.request :oauth, access_token if opts[:signed]
      conn.request :url_encoded
      conn.adapter Faraday.default_adapter
    end
    if opts[:signed]
      connection.get(long_path(path), params)
    else
      parameters = params.merge({api_key: TumblrWrapper.consumer_key})
      connection.get(long_path(path), parameters)
    end
  end

  def http_post(path, body)
    validate_oauth
    connection = Faraday.new TumblrWrapper.endpoint do |conn|
      conn.request :oauth, access_token
      conn.request :url_encoded
      conn.adapter Faraday.default_adapter
    end

    connection.post long_path(path), body
  end

  private
  def content_type
    'application/json'
  end

  def accept
    'application/json'
  end

  def long_path(path)
    raise NotImplementedError
  end

  def blank?(thing)
    thing.nil? || thing.length == 0
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tumblr_wrapper-0.1.1 lib/tumblr_wrapper/http.rb
tumblr_wrapper-0.1.0 lib/tumblr_wrapper/http.rb