Sha256: a88010a73157455fd5d3799610f9f9605426972a9ed335bcb4783b5923c95c8e

Contents?: true

Size: 951 Bytes

Versions: 8

Compression:

Stored size: 951 Bytes

Contents

module DropboxApi::Endpoints
  class ContentUpload < DropboxApi::Endpoints::Base
    def initialize(builder)
      @connection = builder.build("https://content.dropboxapi.com") do |c|
        c.response :decode_result
      end
    end

    def build_request(params, body)
      headers = {
        'Dropbox-API-Arg' => JSON.dump(params),
        'Content-Type' => 'application/octet-stream'
      }

      content_length = get_content_length body
      headers['Content-Length'] = content_length unless content_length.nil?

      return body, headers
    end

    def perform_request(params, content)
      process_response(get_response(params, content))
    end

    private

    def get_content_length(content)
      if content.respond_to?(:bytesize)
        content.bytesize.to_s
      elsif content.respond_to?(:length)
        content.length.to_s
      elsif content.respond_to?(:stat)
        content.stat.size.to_s
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dropbox_api-0.1.18 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.17 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.16 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.15 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.14 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.13 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.12 lib/dropbox_api/endpoints/content_upload.rb
dropbox_api-0.1.11 lib/dropbox_api/endpoints/content_upload.rb