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.



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

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.



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

def http
  @http
end

#paramsObject (readonly)

Returns the value of attribute params.



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

def params
  @params
end

#requestObject (readonly)

Returns the value of attribute request.



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

def request
  @request
end

Class Method Details

.delete(params = {}) ⇒ Object



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

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
# File 'lib/fat_zebra/request.rb', line 15

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

  if params[:method] == :post
    klass.post
  elsif params[:method] == :put
    klass.put
  elsif params[:method] == :delete
    klass.delete
  elsif params[:method] == :get
    klass.get
  else
    raise FatZebra::UnknownRequestMethod, "#{params[:method]} haven't been implemented"
  end
end

.get(params = {}) ⇒ Object



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

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

.post(params = {}) ⇒ Object



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

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

.put(params = {}) ⇒ Object



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

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

Instance Method Details

#deleteObject



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

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



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

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

  setup_auth_basic if params[:basic_auth]
  set_header

  handle_request
end

#postObject



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

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



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

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