Class: FatZebra::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/fat_zebra/request.rb,
lib/fat_zebra/request/multipart/part.rb,
lib/fat_zebra/request/multipart/param.rb,
lib/fat_zebra/request/multipart/stream.rb,
lib/fat_zebra/request/multipart/file_io.rb,
lib/fat_zebra/request/multipart/epilogue.rb

Overview

FatZebra Request Multipart Epilogue

Add the epilogue to the multipart

Defined Under Namespace

Modules: Multipart

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Request

Returns a new instance of Request.



51
52
53
54
55
56
57
58
59
# File 'lib/fat_zebra/request.rb', line 51

def initialize(params = {})
  @params = params
  @http   = Net::HTTP.new(uri.host,
                          uri.port,
                          proxy_host,
                          uri_proxy.port)

  setup_ssl if params[:use_ssl]
end

Instance Attribute Details

#httpObject (readonly)

Returns the value of attribute http.



49
50
51
# File 'lib/fat_zebra/request.rb', line 49

def http
  @http
end

#paramsObject (readonly)

Returns the value of attribute params.



49
50
51
# File 'lib/fat_zebra/request.rb', line 49

def params
  @params
end

#requestObject (readonly)

Returns the value of attribute request.



49
50
51
# File 'lib/fat_zebra/request.rb', line 49

def request
  @request
end

Class Method Details

.delete(params = {}) ⇒ Object



44
45
46
# File 'lib/fat_zebra/request.rb', line 44

def delete(params = {})
  new(params).delete
end

.execute(params = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fat_zebra/request.rb', line 15

def execute(params = {})
  klass = new(params)

  case params[:method]
  when :post
    klass.post
  when :put
    klass.put
  when :delete
    klass.delete
  when :get
    klass.get
  else
    raise FatZebra::UnknownRequestMethod, "#{params[:method]} hasn't been implemented"
  end
end

.get(params = {}) ⇒ Object



40
41
42
# File 'lib/fat_zebra/request.rb', line 40

def get(params = {})
  new(params).get
end

.post(params = {}) ⇒ Object



32
33
34
# File 'lib/fat_zebra/request.rb', line 32

def post(params = {})
  new(params).post
end

.put(params = {}) ⇒ Object



36
37
38
# File 'lib/fat_zebra/request.rb', line 36

def put(params = {})
  new(params).put
end

Instance Method Details

#deleteObject



95
96
97
98
99
100
101
102
# File 'lib/fat_zebra/request.rb', line 95

def delete
  @request = Net::HTTP::Delete.new(uri.path)

  setup_auth_basic if params[:basic_auth]
  request.body = params[:payload].to_json

  handle_request
end

#getObject



86
87
88
89
90
91
92
93
# File 'lib/fat_zebra/request.rb', line 86

def get
  @request = Net::HTTP::Get.new(uri)

  setup_auth_basic if params[:basic_auth]
  set_header

  handle_request
end

#postObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/fat_zebra/request.rb', line 61

def post
  @request = Net::HTTP::Post.new(uri.path)

  setup_auth_basic if params[:basic_auth]

  if params[:payload] && params[:payload][:multipart]
    build_multipart_post
  else
    set_header
    request.body = params[:payload].to_json
  end

  handle_request
end

#putObject



76
77
78
79
80
81
82
83
84
# File 'lib/fat_zebra/request.rb', line 76

def put
  @request = Net::HTTP::Put.new(uri.path)

  setup_auth_basic if params[:basic_auth]
  set_header
  request.body = params[:payload].to_json

  handle_request
end