afmotion 2.2.0 → 3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a90bbeab670fa163a23a4a02b4c9e0adbb8c2edb
4
- data.tar.gz: b713abfe1188c39566ae6787a2732f1c615c8cf5
2
+ SHA256:
3
+ metadata.gz: b0972df3e642f569351b4c4f0897ca9969188a776751add18a3a58e0b9df0fbb
4
+ data.tar.gz: 7d6968c3d2cadd9b9b9a8185e912307bf43c2f7ed1fd26a49b0437eececa1bf3
5
5
  SHA512:
6
- metadata.gz: 56effec5e307c84dc035f793c25d210d713421e704db149033dcbf16f1cbf499c6e701785b30134e4c914da916261dca4e9b4822f9369862a9ce64a41c87fdeb
7
- data.tar.gz: ec5008be1781a1e21388bed27e1498c3a26c3e8d26f7adc481902df7db629c2f95206d6c53c0c0e4d6c1a49ee82e7ce1b58df3e5088a5162e23056846531a28a
6
+ metadata.gz: fff5abc13b536be3b7318989271362532ebecfb9a50c7bbbfc52379eed79c575c0574f8794a1dfa13b1343fb7b0afec3d586a2481ac7a9787c3d387c05c523c1
7
+ data.tar.gz: ea3ae7b135bd574f31b0dd16ba990cc672c83823f56d6a1defe1fecdd0cbece06c066460347da7027ef7ad0b193b5ec191aa58f8582c18946dc6cb34e5740583
data/.gitignore CHANGED
@@ -14,4 +14,5 @@ nbproject
14
14
  *~
15
15
  *.sw[po]
16
16
  .eprj
17
- pkg/*
17
+ pkg/*
18
+ Gemfile.lock
@@ -2,11 +2,24 @@ language: objective-c
2
2
  before_install:
3
3
  - (ruby --version)
4
4
  - sudo chown -R travis ~/Library/RubyMotion
5
- - mkdir -p ~/Library/RubyMotion/build
5
+ - sudo mkdir -p ~/Library/RubyMotion/build
6
+ - sudo chown -R travis ~/Library/RubyMotion/build
7
+ - sudo motion update
8
+ install:
6
9
  - bundle install
7
- - pod setup
8
- - bundle exec rake pod:install
10
+ - pod setup > /dev/null
11
+ - bundle exec rake pod:install > /dev/null
12
+ gemfile:
13
+ - Gemfile
9
14
  script: bundle exec rake spec
10
15
  env:
11
16
  global:
12
- - COCOAPODS_NO_REPO_UPDATE_OUTPUT=true
17
+ - COCOAPODS_NO_REPO_UPDATE_OUTPUT=true
18
+ deploy:
19
+ provider: rubygems
20
+ api_key:
21
+ secure: cCwC+P6XvkgW+iE3LY9YpzL8rSwCVVlUQ9dThepSGFN9mmMOYYMhohVm9NS3kkFzCFKCzu80ATi65ndKukOCwLEgsQO4HM9fH2y0XfmYp/aooJUUxzakDA7XI9kWc0SpqURSRujZBobcJnt4HctMLIogihYYQ/DlILgyy+0fU7U=
22
+ gem: afmotion
23
+ on:
24
+ tags: true
25
+ repo: clayallsopp/afmotion
@@ -15,7 +15,8 @@ Gem::Specification.new do |s|
15
15
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
16
16
  s.require_paths = ["lib"]
17
17
 
18
- s.add_dependency "motion-cocoapods", ">= 1.4.1"
18
+ s.add_dependency "motion-cocoapods", ">= 1.9.1"
19
19
  s.add_dependency "motion-require", ">= 0.1"
20
20
  s.add_development_dependency 'rake'
21
- end
21
+ s.add_development_dependency 'webstub', "~> 1.1.6"
22
+ end
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # AFMotion
2
2
 
3
- [![Build Status](https://travis-ci.org/usepropeller/afmotion.png?branch=master)](https://travis-ci.org/usepropeller/afmotion)
3
+ [![Build Status](https://travis-ci.org/clayallsopp/afmotion.png?branch=master)](https://travis-ci.org/clayallsopp/afmotion) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fclayallsopp%2Fafmotion.svg?size=small)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fclayallsopp%2Fafmotion?ref=badge_small)
4
4
 
5
- AFMotion is a thin RubyMotion wrapper for [AFNetworking](https://github.com/AFNetworking/AFNetworking), the absolute best networking library on iOS.
5
+ AFMotion is a thin RubyMotion wrapper for [AFNetworking](https://github.com/AFNetworking/AFNetworking), the absolute best networking library on iOS and OS X.
6
6
 
7
7
  ## Usage
8
8
 
@@ -33,32 +33,45 @@ end
33
33
  end
34
34
  ```
35
35
 
36
- You can either use `AFMotion::Client` or `AFMotion::SessionClient` to group similar requests. They have identical APIs, except for their creation and that their request `result` objects contain either `result.operation` (for `::Client`) or `result.task` (for `::SessionClient`).
36
+ #### Migration from AFMotion 2.x
37
37
 
38
- #### AFMotion::Client
38
+ _Breaking Change_
39
+ Parameters must now be specified with the `params:` keyword arg.
39
40
 
40
- If you're interacting with a web service, you can use [`AFHTTPRequestOperationManager`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFHTTPRequestOperationManager.html) with this nice wrapper:
41
+ AFMotion 2.x
41
42
 
42
43
  ```ruby
43
- # DSL Mapping to properties of AFHTTPRequestOperationManager
44
+ AFMotion::HTTP.get("http://google.com", q: "rubymotion") do |result|
45
+ # sends request to http://google.com?q=rubymotion
46
+ end
47
+ ```
44
48
 
45
- @client = AFMotion::Client.build("https://alpha-api.app.net/") do
46
- header "Accept", "application/json"
49
+ AFMotion 3.x
47
50
 
48
- response_serializer :json
51
+ ```ruby
52
+ AFMotion::HTTP.get("http://google.com", params: { q: "rubymotion" }) do |result|
53
+ # sends request to http://google.com?q=rubymotion
49
54
  end
50
55
  ```
51
56
 
52
- #### AFMotion::SessionClient
53
-
54
- If you're using iOS7, you can use [`AFHTTPSessionManager`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFHTTPSessionManager.html):
57
+ This allows you to also pass in a progress_block or additional headers on the fly:
55
58
 
56
59
  ```ruby
57
- # DSL Mapping to properties of AFHTTPSessionManager
60
+ AFMotion::HTTP.get("http://url.com/large_file.mov", params: { quality: "high" }, progress_block: proc { |progress| update_progress(progress) }, headers: {}) do |result|
61
+ # sends request to http://google.com?q=rubymotion
62
+ end
63
+ ```
64
+
65
+ For grouping similar requests (AFHTTPSession), use `AFMotion::Client` (now exactly the same as `AFMotion::SessionClient`)
66
+
67
+ #### AFMotion::Client
68
+
69
+ If you're interacting with a web service, you can use [`AFHTTPRequestOperationManager`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFHTTPRequestOperationManager.html) with this nice wrapper:
58
70
 
59
- @client = AFMotion::SessionClient.build("https://alpha-api.app.net/") do
60
- session_configuration :default
71
+ ```ruby
72
+ # DSL Mapping to properties of AFHTTPRequestOperationManager
61
73
 
74
+ @client = AFMotion::Client.build("https://alpha-api.app.net/") do
62
75
  header "Accept", "application/json"
63
76
 
64
77
  response_serializer :json
@@ -91,7 +104,7 @@ You can also request arbitrary images:
91
104
 
92
105
  1. `gem install afmotion`
93
106
 
94
- 2. `require 'afmotion'` or add to your `Gemfile` (`gem 'afmotion', '~> 2.1.0'`)
107
+ 2. `require 'afmotion'` or add to your `Gemfile` (`gem 'afmotion'`)
95
108
 
96
109
  3. `rake pod:install`
97
110
 
@@ -103,8 +116,8 @@ Each AFMotion wrapper callback yields an `AFMotion::HTTPResult` object. This obj
103
116
 
104
117
  ```ruby
105
118
  AFMotion::some_function do |result|
106
- # result.operation is the AFURLConnectionOperation instance
107
- p result.operation.inspect
119
+ p result.task.inspect
120
+ p result.status_code
108
121
 
109
122
  if result.success?
110
123
  # result.object depends on the type of operation.
@@ -134,7 +147,7 @@ end
134
147
  Example:
135
148
 
136
149
  ```ruby
137
- AFMotion::HTTP.get("http://google.com", q: "rubymotion") do |result|
150
+ AFMotion::HTTP.get("http://google.com", params: { q: "rubymotion" }) do |result|
138
151
  # sends request to http://google.com?q=rubymotion
139
152
  end
140
153
  ```
@@ -147,7 +160,7 @@ end
147
160
 
148
161
  ### HTTP Client
149
162
 
150
- If you're constantly accesing a web service, it's a good idea to use an `AFHTTPRequestOperationManager`. Things lets you add a common base URL and request headers to all the requests issued through it, like so:
163
+ If you're constantly accesing a web service, it's a good idea to use an `AFHTTPSessionManager`. Things lets you add a common base URL and request headers to all the requests issued through it, like so:
151
164
 
152
165
  ```ruby
153
166
  client = AFMotion::Client.build("https://alpha-api.app.net/") do
@@ -162,42 +175,23 @@ client.get("stream/0/posts/stream/global") do |result|
162
175
  end
163
176
  ```
164
177
 
165
- If you're using iOS7, you can use [`AFHTTPSessionManager`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFHTTPSessionManager.html):
166
-
167
- ```ruby
168
- # DSL Mapping to properties of AFHTTPSessionManager
169
-
170
- client = AFMotion::SessionClient.build("https://alpha-api.app.net/") do
171
- session_configuration :default
172
-
173
- header "Accept", "application/json"
174
-
175
- response_serializer :json
176
- end
177
-
178
- client.get("stream/0/posts/stream/global") do |result|
179
- # result.task exists
180
- ...
181
- end
182
- ```
183
-
184
178
  If you're constantly used one web service, you can use the `AFMotion::Client.shared` variable have a common reference. It can be set like a normal variable or created with `AFMotion::Client.build_shared`.
185
179
 
186
180
  `AFHTTPRequestOperationManager` & `AFHTTPSessionManager` support methods of the form `Client#get/post/put/patch/delete(url, request_parameters)`. The `request_parameters` is a hash containing your parameters to attach as the request body or URL parameters, depending on request type. For example:
187
181
 
188
182
  ```ruby
189
- client.get("users", id: 1) do |result|
183
+ client.get("users", params: { id: 1 }) do |result|
190
184
  ...
191
185
  end
192
186
 
193
- client.post("users", name: "@clayallsopp", library: "AFMotion") do |result|
187
+ client.post("users", params: { name: "@clayallsopp", library: "AFMotion" }) do |result|
194
188
  ...
195
189
  end
196
190
  ```
197
191
 
198
192
  #### Multipart Requests
199
193
 
200
- `AFHTTPRequestOperationManager` & `AFHTTPSessionManager` support multipart form requests (i.e. for image uploading) - simply use `multipart_post` and it'll convert your parameters into properly encoded multipart data. For all other types of request data, use the `form_data` object passed to your callback:
194
+ `AFHTTPSessionManager` support multipart form requests (i.e. for image uploading) - simply use `multipart_post` and it'll convert your parameters into properly encoded multipart data. For all other types of request data, use the `form_data` object passed to your callback:
201
195
 
202
196
  ```ruby
203
197
  # an instance of UIImage
@@ -207,7 +201,7 @@ data = UIImagePNGRepresentation(image)
207
201
  client.multipart_post("avatars") do |result, form_data|
208
202
  if form_data
209
203
  # Called before request runs
210
- # see: https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ
204
+ # see: http://cocoadocs.org/docsets/AFNetworking/2.5.0/Protocols/AFMultipartFormData.html
211
205
  form_data.appendPartWithFileData(data, name: "avatar", fileName:"avatar.png", mimeType: "image/png")
212
206
  elsif result.success?
213
207
  ...
@@ -219,17 +213,14 @@ end
219
213
 
220
214
  This is an instance of [`AFMultipartFormData`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Protocols/AFMultipartFormData.html).
221
215
 
222
- If you want to track upload progress, you can add a third callback argument which returns the upload percentage between 0.0 and 1.0:
216
+ If you want to track upload progress, simply add a progress_block (Taking a single arg: `NSProgress`)
223
217
 
224
218
  ```ruby
225
- client.multipart_post("avatars") do |result, form_data, progress|
219
+ client.multipart_post("avatars", progress_block: proc { |progress| update_progress(progress) }) do |result, form_data|
226
220
  if form_data
227
221
  # Called before request runs
228
222
  # see: https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ
229
223
  form_data.appendPartWithFileData(data, name: "avatar", fileName:"avatar.png", mimeType: "image/png")
230
- elsif progress
231
- # 0.0 < progress < 1.0
232
- my_widget.update_progress(progress)
233
224
  else
234
225
  ...
235
226
  end
@@ -256,7 +247,7 @@ The `AFMotion::Client` & `AFMotion::SessionClient` DSLs allows the following pro
256
247
 
257
248
  - `header(header, value)`
258
249
  - `authorization(username: ___, password: ____)` for HTTP Basic auth, or `authorization(token: ____)` for Token based auth.
259
- - `request_serializer(serializer)`. Allows you to set an [`AFURLRequestSerialization`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Protocols/AFURLRequestSerialization.html) for all your client's requests, which determines how data is encoded on the way to the server. So if your API is always going to be JSON, you should set `operation(:json)`. Accepts `:json` and `:plist`, or any instance of `AFURLRequestSerialization`.
250
+ - `request_serializer(serializer)`. Allows you to set an [`AFURLRequestSerialization`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Protocols/AFURLRequestSerialization.html) for all your client's requests, which determines how data is encoded on the way to the server. So if your API is always going to be JSON, you should set `operation(:json)`. Accepts `:json` and `:plist`, or any instance of `AFURLRequestSerialization` and must be called before calling `header` or `authorization` or else the [headers will not be applied](https://github.com/clayallsopp/afmotion/issues/78).
260
251
  - `response_serializer(serializer)`. Allows you to set an [`AFURLResponseSerialization`](http://cocoadocs.org/docsets/AFNetworking/2.0.0/Protocols/AFURLResponseSerialization.html), which determines how data is decoded once the server respnds. Accepts `:json`, `:xml`, `:plist`, `:image`, `:http`, or any instance of `AFURLResponseSerialization`.
261
252
 
262
253
  For `AFMotion::SessionClient` only:
@@ -272,3 +263,7 @@ client = AFMotion::SessionClient.build("https://alpha-api.app.net/") do |client|
272
263
  client.header "Accept", @custom_header
273
264
  end
274
265
  ```
266
+
267
+ ## License
268
+
269
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fclayallsopp%2Fafmotion.svg?size=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fclayallsopp%2Fafmotion?ref=badge_large)
data/Rakefile CHANGED
@@ -1,14 +1,18 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  $:.unshift("/Library/RubyMotion/lib")
3
+ $:.unshift("~/.rubymotion/rubymotion-templates") # Add this line
4
+ require 'motion/project/template/gem/gem_tasks'
3
5
  require 'motion/project/template/ios'
4
- require "bundler/gem_tasks"
5
6
  require "bundler/setup"
6
7
  Bundler.require :default
7
8
 
8
9
  $:.unshift("./lib/")
9
10
  require './lib/afmotion'
10
11
 
12
+ require 'webstub'
13
+
11
14
  Motion::Project::App.setup do |app|
12
15
  # Use `rake config' to see complete project settings.
13
16
  app.name = 'AFMotion'
17
+ app.deployment_target = "10.0"
14
18
  end
@@ -16,6 +16,6 @@ Motion::Project::App.setup do |app|
16
16
  end
17
17
 
18
18
  app.pods do
19
- pod 'AFNetworking', '~> 2.2.4'
19
+ pod 'AFNetworking', '~> 4.0.0'
20
20
  end
21
- end
21
+ end
@@ -1,31 +1,4 @@
1
1
  module AFMotion
2
- # ported from https://github.com/AFNetworking/AFNetworking/blob/master/UIKit%2BAFNetworking/UIProgressView%2BAFNetworking.m
3
- class SessionObserver
4
-
5
- def initialize(task, callback)
6
- @callback = callback
7
- task.addObserver(self, forKeyPath:"state", options:0, context:nil)
8
- task.addObserver(self, forKeyPath:"countOfBytesSent", options:0, context:nil)
9
- end
10
-
11
- def observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
12
- if keyPath == "countOfBytesSent"
13
- # Could be -1, see https://github.com/AFNetworking/AFNetworking/issues/1354
14
- expectation = (object.countOfBytesExpectedToSend > 0) ? object.countOfBytesExpectedToSend.to_f : nil
15
- @callback.call(nil, object.countOfBytesSent.to_f, expectation)
16
- end
17
-
18
- if keyPath == "state" && object.state == NSURLSessionTaskStateCompleted
19
- begin
20
- object.removeObserver(self, forKeyPath: "state")
21
- object.removeObserver(self, forKeyPath: "countOfBytesSent")
22
- @callback = nil
23
- rescue
24
- end
25
- end
26
- end
27
- end
28
-
29
2
  module ClientShared
30
3
  def headers
31
4
  requestSerializer.headers
@@ -39,29 +12,25 @@ module AFMotion
39
12
  requestSerializer.authorization = authorization
40
13
  end
41
14
 
42
- def multipart_post(path, parameters = {}, &callback)
43
- create_multipart_operation(:post, path, parameters, &callback)
15
+ def multipart_post(path, options = {}, &callback)
16
+ create_multipart_task(:post, path, options, &callback)
44
17
  end
45
18
 
46
- def multipart_put(path, parameters = {}, &callback)
47
- create_multipart_operation(:put, path, parameters, &callback)
19
+ def multipart_put(path, options = {}, &callback)
20
+ create_multipart_task(:put, path, options, &callback)
48
21
  end
49
22
 
50
- def create_multipart_operation(http_method, path, parameters = {}, &callback)
51
- inner_callback = Proc.new do |result, form_data, bytes_written_now, total_bytes_written, total_bytes_expect|
23
+ def create_multipart_task(http_method, path, options = {}, &callback)
24
+ parameters = options[:params]
25
+ headers = options.fetch(:headers, {})
26
+ progress = options[:progress_block]
27
+
28
+ inner_callback = Proc.new do |result, form_data|
52
29
  case callback.arity
53
30
  when 1
54
31
  callback.call(result)
55
32
  when 2
56
33
  callback.call(result, form_data)
57
- when 3
58
- progress = nil
59
- if total_bytes_written && total_bytes_expect
60
- progress = total_bytes_written.to_f / total_bytes_expect.to_f
61
- end
62
- callback.call(result, form_data, progress)
63
- when 5
64
- callback.call(result, form_data, bytes_written_now, total_bytes_written, total_bytes_expect)
65
34
  end
66
35
  end
67
36
 
@@ -72,57 +41,77 @@ module AFMotion
72
41
  }
73
42
  end
74
43
 
75
- upload_callback = nil
76
- if callback.arity > 2
77
- upload_callback = lambda { |bytes_written_now, total_bytes_written, total_bytes_expect|
78
- inner_callback.call(nil, nil, bytes_written_now, total_bytes_written, total_bytes_expect)
79
- }
80
- end
81
-
82
44
  http_method = http_method.to_s.upcase
83
45
  if http_method == "POST"
84
- operation_or_task = self.POST(path,
46
+ task = self.POST(path,
85
47
  parameters: parameters,
48
+ headers: headers,
86
49
  constructingBodyWithBlock: multipart_callback,
87
- success: AFMotion::Operation.success_block_for_http_method(:post, inner_callback),
88
- failure: AFMotion::Operation.failure_block(inner_callback))
50
+ progress: progress,
51
+ success: success_block_for_http_method(:post, inner_callback),
52
+ failure: failure_block(inner_callback))
89
53
  else
90
- operation_or_task = self.PUT(path,
54
+ task = self.PUT(path,
91
55
  parameters: parameters,
56
+ headers: headers,
92
57
  constructingBodyWithBlock: multipart_callback,
93
- success: AFMotion::Operation.success_block_for_http_method(:post, inner_callback),
94
- failure: AFMotion::Operation.failure_block(inner_callback))
58
+ progress: progress,
59
+ success: success_block_for_http_method(:post, inner_callback),
60
+ failure: failure_block(inner_callback))
95
61
  end
96
- if upload_callback
97
- if operation_or_task.is_a?(AFURLConnectionOperation)
98
- operation_or_task.setUploadProgressBlock(upload_callback)
99
- else
100
- # using NSURLSession - messy, probably leaks
101
- @observer = SessionObserver.new(operation_or_task, upload_callback)
102
- end
62
+ task
63
+ end
64
+
65
+ def create_task(http_method, path, options = {}, &callback)
66
+ parameters = options.fetch(:params, {})
67
+ headers = options.fetch(:headers, {})
68
+ progress = options[:progress_block]
69
+
70
+ method_signature = "#{http_method.to_s.upcase}:parameters:headers:progress:success:failure"
71
+ success = success_block_for_http_method(http_method, callback)
72
+ failure = failure_block(callback)
73
+ method_and_args = [method_signature, path, parameters, headers, progress, success, failure]
74
+
75
+ # HEAD doesn't take a progress arg
76
+ if http_method.to_s.upcase == "HEAD"
77
+ method_signature.gsub!("progress:", "")
78
+ method_and_args.delete_at(4)
103
79
  end
104
- operation_or_task
80
+
81
+ self.public_send(*method_and_args)
105
82
  end
106
83
 
107
- def create_operation(http_method, path, parameters = {}, &callback)
108
- method_signature = "#{http_method.upcase}:parameters:success:failure:"
109
- method = self.method(method_signature)
110
- success_block = AFMotion::Operation.success_block_for_http_method(http_method, callback)
111
- operation = method.call(path, parameters, success_block, AFMotion::Operation.failure_block(callback))
84
+ def success_block_for_http_method(http_method, callback)
85
+ if http_method.downcase.to_sym == :head
86
+ return ->(task) {
87
+ result = AFMotion::HTTPResult.new(task, nil, nil)
88
+ callback.call(result)
89
+ }
90
+ end
91
+
92
+ ->(task, responseObject) {
93
+ result = AFMotion::HTTPResult.new(task, responseObject, nil)
94
+ callback.call(result)
95
+ }
112
96
  end
113
97
 
114
- alias_method :create_task, :create_operation
98
+ def failure_block(callback)
99
+ ->(task, error) {
100
+ result = AFMotion::HTTPResult.new(task, nil, error)
101
+ callback.call(result)
102
+ }
103
+ end
115
104
 
116
105
  private
117
106
  # To force RubyMotion pre-compilation of these methods
118
107
  def dummy
119
- self.GET("", parameters: nil, success: nil, failure: nil)
120
- self.HEAD("", parameters: nil, success: nil, failure: nil)
121
- self.POST("", parameters: nil, success: nil, failure: nil)
122
- self.POST("", parameters: nil, constructingBodyWithBlock: nil, success: nil, failure: nil)
123
- self.PUT("", parameters: nil, success: nil, failure: nil)
124
- self.DELETE("", parameters: nil, success: nil, failure: nil)
125
- self.PATCH("", parameters: nil, success: nil, failure: nil)
108
+ self.GET("", parameters: nil, headers: nil, progress: nil, success: nil, failure: nil)
109
+ self.HEAD("", parameters: nil, headers: nil, success: nil, failure: nil)
110
+ self.POST("", parameters: nil, headers: nil, progress: nil, success: nil, failure: nil)
111
+ self.POST("", parameters: nil, headers: nil, constructingBodyWithBlock: nil, progress: nil, success: nil, failure: nil)
112
+ self.PUT("", parameters: nil, headers: nil, progress: nil, success: nil, failure: nil)
113
+ self.DELETE("", parameters: nil, headers: nil, progress: nil, success: nil, failure: nil)
114
+ self.PATCH("", parameters: nil, headers: nil, progress: nil, success: nil, failure: nil)
126
115
  end
127
116
  end
128
- end
117
+ end