faraday-encode_xml 0.1.0 → 1.0.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 +4 -4
- data/CHANGELOG.md +14 -0
- data/README.md +24 -2
- data/lib/faraday/{middleware/encode_xml.rb → encode_xml/middleware.rb} +7 -8
- data/lib/faraday/encode_xml/version.rb +1 -1
- data/lib/faraday/encode_xml.rb +6 -6
- metadata +30 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e6ddc26f83af475e9849f33d88623343dbbfd15c9442aee2cdf4966d9423d39
|
4
|
+
data.tar.gz: 6567bfdf42e8d0b8db251c624d83e2a809e5c8dd9964d778195172b8bd16680d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93b0ce16941734bc55315b5a0add5a50af1016067ee3d6922a07ca267e308842242ee88d2846fe5f4c24408f1b1305a576d71a661f6c7997d4c8c345159eb149
|
7
|
+
data.tar.gz: 1669103508589fb19c6e22994c3d9673c422d91596ea527cd5b2a9c1360462542a1ed2ced695defa565937b0ad12d13040e26cf7bf5c19b2634c4f7953f2dbaa
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
|
5
5
|
## Unreleased
|
6
6
|
|
7
|
+
## 1.0.0 (2022-11-19)
|
8
|
+
|
9
|
+
* Update Faraday to version 2.
|
10
|
+
* Update development dependencies.
|
11
|
+
* Drop Ruby 2.5 support.
|
12
|
+
* Add Ruby 3.1 for CI.
|
13
|
+
* Add code coverage gems, scripts and CI tasks.
|
14
|
+
* Improve CI config.
|
15
|
+
|
16
|
+
## 0.2.0 (2021-10-20)
|
17
|
+
|
18
|
+
* Rework classes hierarchy to something more correct.
|
19
|
+
* Add usage example in README.
|
20
|
+
|
7
21
|
## 0.1.0 (2021-10-20)
|
8
22
|
|
9
23
|
* Initial release.
|
data/README.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Faraday Encode XML
|
2
2
|
|
3
|
-
|
3
|
+
[](https://cirrus-ci.com/github/AlexWayfer/faraday-encode_xml)
|
4
|
+
[](https://codecov.io/gh/AlexWayfer/faraday-encode_xml)
|
5
|
+
[](https://codeclimate.com/github/AlexWayfer/faraday-encode_xml)
|
6
|
+
[](https://depfu.com/repos/github/AlexWayfer/faraday-encode_xml)
|
7
|
+
[](https://rubygems.org/gems/faraday-encode_xml)
|
8
|
+
[](LICENSE.txt)
|
9
|
+
|
10
|
+
This repo is a [Faraday](https://github.com/lostisland/faraday) middleware for encoding requests as XML.
|
4
11
|
Faraday is an HTTP client library that provides a common interface for making requests.
|
5
12
|
|
6
13
|
## Installation
|
@@ -28,7 +35,22 @@ gem install faraday-encode_xml
|
|
28
35
|
```ruby
|
29
36
|
require 'faraday/encode_xml'
|
30
37
|
|
31
|
-
|
38
|
+
connection = Faraday.new do |faraday|
|
39
|
+
## This gem only encodes requests
|
40
|
+
faraday.request :xml
|
41
|
+
|
42
|
+
## For responses deconding use `faraday_middleware` gem and such code:
|
43
|
+
# require 'faraday_middleware'
|
44
|
+
# faraday.response :xml
|
45
|
+
|
46
|
+
## For example `httpbingo` responses as JSON, so let's enable it:
|
47
|
+
require 'faraday_middleware'
|
48
|
+
faraday.response :json
|
49
|
+
end
|
50
|
+
|
51
|
+
response = connection.post('https://httpbingo.org/post', { a: 1, b: 'foo', c: true })
|
52
|
+
|
53
|
+
puts response.body['data'] ## => <a>1</a><b>foo</b><c>true</c>
|
32
54
|
```
|
33
55
|
|
34
56
|
## Development
|
@@ -1,7 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'faraday'
|
4
|
+
require 'gyoku' unless defined?(::Gyoku)
|
5
|
+
|
3
6
|
module Faraday
|
4
|
-
|
7
|
+
module EncodeXML
|
5
8
|
# Request middleware that encodes the body as XML.
|
6
9
|
#
|
7
10
|
# Processes only requests with matching Content-type or those without a type.
|
@@ -9,14 +12,10 @@ module Faraday
|
|
9
12
|
# to XML MIME-type.
|
10
13
|
#
|
11
14
|
# Doesn't try to encode bodies that already are in string form.
|
12
|
-
class
|
15
|
+
class Middleware < Faraday::Middleware
|
13
16
|
CONTENT_TYPE = 'Content-Type'
|
14
17
|
MIME_TYPE = 'application/xml'
|
15
18
|
|
16
|
-
dependency do
|
17
|
-
require 'gyoku' unless defined?(::Gyoku)
|
18
|
-
end
|
19
|
-
|
20
19
|
# This method will be called when the request is being prepared.
|
21
20
|
# You can alter it as you like, accessing things like request_body, request_headers, and more.
|
22
21
|
# Refer to Faraday::Env for a list of accessible fields:
|
@@ -44,10 +43,10 @@ module Faraday
|
|
44
43
|
|
45
44
|
def process_request?(env)
|
46
45
|
type = request_type(env)
|
47
|
-
|
46
|
+
body?(env) && (type.empty? or type == MIME_TYPE)
|
48
47
|
end
|
49
48
|
|
50
|
-
def
|
49
|
+
def body?(env)
|
51
50
|
(body = env[:body]) && !(body.respond_to?(:to_str) && body.empty?)
|
52
51
|
end
|
53
52
|
|
data/lib/faraday/encode_xml.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
require_relative 'encode_xml/middleware'
|
4
|
+
require_relative 'encode_xml/version'
|
5
5
|
|
6
6
|
module Faraday
|
7
7
|
# This will be your middleware main module, though the actual middleware implementation will go
|
@@ -11,18 +11,18 @@ module Faraday
|
|
11
11
|
# This step is totally optional, but it basically allows users to use a
|
12
12
|
# custom symbol (in this case, `:my_middleware`), to use your middleware in their connections.
|
13
13
|
# After calling this line, the following are both valid ways to set the middleware in a connection:
|
14
|
-
# * conn.use Faraday::Middleware
|
14
|
+
# * conn.use Faraday::MyMiddleware::Middleware
|
15
15
|
# * conn.use :my_middleware
|
16
16
|
# Without this line, only the former method is valid.
|
17
|
-
# Faraday::Middleware.register_middleware(
|
17
|
+
# Faraday::Middleware.register_middleware(my_middleware: Faraday::MyMiddleware::Middleware)
|
18
18
|
|
19
19
|
# Alternatively, you can register your middleware under Faraday::Request or Faraday::Response.
|
20
20
|
# This will allow to load your middleware using the `request` or `response` methods respectively.
|
21
21
|
#
|
22
22
|
# Load middleware with conn.request :my_middleware
|
23
|
-
Faraday::Request.register_middleware(xml: Faraday::Middleware
|
23
|
+
Faraday::Request.register_middleware(xml: Faraday::EncodeXML::Middleware)
|
24
24
|
|
25
25
|
# Load middleware with conn.response :my_middleware
|
26
|
-
# Faraday::Response.register_middleware(my_adapter: Faraday::Middleware
|
26
|
+
# Faraday::Response.register_middleware(my_adapter: Faraday::MyMiddleware::Middleware)
|
27
27
|
end
|
28
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday-encode_xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Popov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: gyoku
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,21 +109,21 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.21.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: simplecov-cobertura
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: '2.1'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: '2.1'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: gem_toys
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
@@ -136,20 +136,34 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 0.12.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: toys
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 0.14.2
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 0.14.2
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: rubocop
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
157
|
- - "~>"
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
159
|
+
version: 1.39.0
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
164
|
- - "~>"
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
166
|
+
version: 1.39.0
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: rubocop-packaging
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,15 +219,16 @@ files:
|
|
205
219
|
- LICENSE.md
|
206
220
|
- README.md
|
207
221
|
- lib/faraday/encode_xml.rb
|
222
|
+
- lib/faraday/encode_xml/middleware.rb
|
208
223
|
- lib/faraday/encode_xml/version.rb
|
209
|
-
- lib/faraday/middleware/encode_xml.rb
|
210
224
|
homepage: https://github.com/AlexWayfer/faraday-encode_xml
|
211
225
|
licenses:
|
212
226
|
- MIT
|
213
227
|
metadata:
|
228
|
+
rubygems_mfa_required: 'true'
|
214
229
|
bug_tracker_uri: https://github.com/AlexWayfer/faraday-encode_xml/issues
|
215
|
-
changelog_uri: https://github.com/AlexWayfer/faraday-encode_xml/blob/
|
216
|
-
documentation_uri: http://www.rubydoc.info/gems/faraday-encode_xml/
|
230
|
+
changelog_uri: https://github.com/AlexWayfer/faraday-encode_xml/blob/v1.0.0/CHANGELOG.md
|
231
|
+
documentation_uri: http://www.rubydoc.info/gems/faraday-encode_xml/1.0.0
|
217
232
|
homepage_uri: https://github.com/AlexWayfer/faraday-encode_xml
|
218
233
|
source_code_uri: https://github.com/AlexWayfer/faraday-encode_xml
|
219
234
|
wiki_uri: https://github.com/AlexWayfer/faraday-encode_xml/wiki
|
@@ -225,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
225
240
|
requirements:
|
226
241
|
- - ">="
|
227
242
|
- !ruby/object:Gem::Version
|
228
|
-
version: '2.
|
243
|
+
version: '2.6'
|
229
244
|
- - "<"
|
230
245
|
- !ruby/object:Gem::Version
|
231
246
|
version: '4'
|
@@ -235,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
250
|
- !ruby/object:Gem::Version
|
236
251
|
version: '0'
|
237
252
|
requirements: []
|
238
|
-
rubygems_version: 3.
|
253
|
+
rubygems_version: 3.3.26
|
239
254
|
signing_key:
|
240
255
|
specification_version: 4
|
241
256
|
summary: Faraday middleware for encoding requests as XML
|