Class: Cucumber::Mailcatcher::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/mailcatcher/http_client.rb

Constant Summary collapse

@@server_url =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeHttpClient

Returns a new instance of HttpClient.



20
21
22
23
24
25
26
# File 'lib/cucumber/mailcatcher/http_client.rb', line 20

def initialize
  error = "Please set the Mailcatcher server url e.g. Cucumber::Mailcatcher::HttpClient.server_url = 'http://localhost:1080'"

  valid = @@server_url =~ /\A#{URI.regexp(%w(http https))}\z/

  raise error unless valid
end

Class Method Details

.server_urlObject



12
13
14
# File 'lib/cucumber/mailcatcher/http_client.rb', line 12

def self.server_url
  @@server_url
end

.server_url=(server_url) ⇒ Object



16
17
18
# File 'lib/cucumber/mailcatcher/http_client.rb', line 16

def self.server_url=server_url
  @@server_url = server_url
end

Instance Method Details

#do_delete(relative_url) ⇒ Object



37
38
39
40
41
42
# File 'lib/cucumber/mailcatcher/http_client.rb', line 37

def do_delete relative_url
  uri = URI("#{@@server_url}#{relative_url}")

  request = Net::HTTP.new(uri.host,uri.port)
  request.delete(uri.path).code
end

#do_get(relative_url) ⇒ Object



28
29
30
31
# File 'lib/cucumber/mailcatcher/http_client.rb', line 28

def do_get relative_url
  uri = URI("#{@@server_url}#{relative_url}")
  Net::HTTP.get_response(uri)
end

#do_get_json(relative_url) ⇒ Object



33
34
35
# File 'lib/cucumber/mailcatcher/http_client.rb', line 33

def do_get_json relative_url
  JSON.load((do_get relative_url).body)
end