Sha256: 5c423ef2066de81e02dd27b2199b1206e289015f9afdeb571914b48efa680685
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
module Nextcloud module Ruby class Api def initialize(method, path, payload = nil) @method = method @payload = payload @path = Addressable::URI .join(Nextcloud::Ruby.configuration.dav_url.to_s, path) @uri = Nextcloud::Ruby.configuration.dav_url @username = Nextcloud::Ruby.configuration.username @password = Nextcloud::Ruby.configuration.password init_request end def self.request(method, path, payload = nil) new(method, path, payload).request end def request response = Net::HTTP.start(@uri.host, @uri.port, use_ssl: @uri.scheme == 'https') do |http| http.request(@request) end Response.new(response.body, response.code.to_i) end private def init_request @request = net_http_class.new(@path) @request.body = @payload if @payload @request.basic_auth @username, @password end def net_http_class Kernel.const_get("Net::HTTP::#{@method.capitalize}") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nextcloud-ruby-0.1.2 | lib/nextcloud/ruby/api.rb |
nextcloud-ruby-0.1.1 | lib/nextcloud/ruby/api.rb |