Class: Transmission::BaseMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/transmissionr/base_method.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ BaseMethod

Returns a new instance of BaseMethod.



3
4
5
# File 'lib/transmissionr/base_method.rb', line 3

def initialize( client )
  @client = client
end

Instance Method Details

#requestObject

Raises:

  • (ResponseError)


7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/transmissionr/base_method.rb', line 7

def request
  request = {
      method: @method,
      arguments: @arguments
  }
  response = @client.class.post(@client.base_uri, basic_auth: @client.auth, headers: @client.headers, body: request.to_json )
  if response.code == 409
    @client.headers["x-transmission-session-id"] = response.headers["x-transmission-session-id"]
    response = @client.class.post(@client.base_uri, basic_auth: @client.auth, headers: @client.headers, body: request.to_json )
  end
  raise ResponseError.new(response) if response.code != 200
  Mash.new(response)
end