swiftype 1.2.3 → 1.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 +4 -4
- data/README.md +7 -2
- data/lib/swiftype/client.rb +5 -0
- data/lib/swiftype/request.rb +8 -1
- data/lib/swiftype/version.rb +1 -1
- data/spec/client_spec.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd466837b8766de157a54c3b8524e148ffde51c647e09ad4094cee027af6e105
|
4
|
+
data.tar.gz: 21f8de0c94f70755db7534181bc653ecabb85f6f94a824176f2cc8887e87a271
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '049de7bc87c7421f72018cdca475f2e877d7a21c112430f27254944fdd1acda197dfe04f7209391e257313a290bbd9aa8f183ec45343f6ad8f55a70a3fc403a2'
|
7
|
+
data.tar.gz: 2f45c1a6fc68d64c0968ee3567b10d98cbebc6a326ba06c07f719886151226b1fa656daace9cb21837b8bd2eaa0c8c3f58c08a6b2024447e64f3d7bc69b85199
|
data/README.md
CHANGED
@@ -52,6 +52,12 @@ You can also provide the API key when creating the client instance:
|
|
52
52
|
|
53
53
|
If the API key is provided as an option to constructor, it will override the globally configured Swiftype API key (if any).
|
54
54
|
|
55
|
+
### Specifying an HTTP Proxy
|
56
|
+
|
57
|
+
client = Swiftype::Client.new(:api_key => 'api_key', :proxy => 'http://localhost:8888')
|
58
|
+
|
59
|
+
This client will also support configuring a proxy via the environment variable `http_proxy`.
|
60
|
+
|
55
61
|
### Full-text search
|
56
62
|
|
57
63
|
If you want to search for `cat` on your engine, you can use:
|
@@ -185,7 +191,7 @@ Update multiple Documents at once:
|
|
185
191
|
])
|
186
192
|
|
187
193
|
All methods above will have a return in the following format:
|
188
|
-
|
194
|
+
|
189
195
|
[
|
190
196
|
{
|
191
197
|
"id": "5473d6142ed96065a9000001",
|
@@ -410,4 +416,3 @@ or simply `Swiftype.api_key = 'your_api_key'`.
|
|
410
416
|
You can run tests with `rspec`. All HTTP interactions are stubbed out using VCR.
|
411
417
|
|
412
418
|
To contribute code to this gem, please fork the repository and submit a pull request.
|
413
|
-
|
data/lib/swiftype/client.rb
CHANGED
@@ -21,6 +21,7 @@ module Swiftype
|
|
21
21
|
# @option options [String] :platform_access_token a user's access token, will be used instead of API key for authenticating requests
|
22
22
|
# @option options [Numeric] :overall_timeout overall timeout for requests in seconds (default: 15s)
|
23
23
|
# @option options [Numeric] :open_timeout the number of seconds Net::HTTP (default: 15s)
|
24
|
+
# @option options [String] :proxy url of proxy to use, ex: "http://localhost:8888"
|
24
25
|
# will wait while opening a connection before raising a Timeout::Error
|
25
26
|
|
26
27
|
def initialize(options={})
|
@@ -35,6 +36,10 @@ module Swiftype
|
|
35
36
|
@options[:platform_access_token]
|
36
37
|
end
|
37
38
|
|
39
|
+
def proxy
|
40
|
+
@options[:proxy]
|
41
|
+
end
|
42
|
+
|
38
43
|
def open_timeout
|
39
44
|
@options[:open_timeout] || DEFAULT_TIMEOUT
|
40
45
|
end
|
data/lib/swiftype/request.rb
CHANGED
@@ -57,7 +57,14 @@ module Swiftype
|
|
57
57
|
uri = URI.parse("#{Swiftype.endpoint}#{path}")
|
58
58
|
|
59
59
|
request = build_request(method, uri, params)
|
60
|
-
|
60
|
+
|
61
|
+
if proxy
|
62
|
+
proxy_parts = URI.parse(proxy)
|
63
|
+
http = Net::HTTP.new(uri.host, uri.port, proxy_parts.host, proxy_parts.port)
|
64
|
+
else
|
65
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
66
|
+
end
|
67
|
+
|
61
68
|
http.open_timeout = open_timeout
|
62
69
|
http.read_timeout = overall_timeout
|
63
70
|
|
data/lib/swiftype/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -101,6 +101,23 @@ describe Swiftype::Client do
|
|
101
101
|
end
|
102
102
|
end
|
103
103
|
end
|
104
|
+
|
105
|
+
context 'with proxy specified' do
|
106
|
+
let(:options) { { :proxy => 'http://localhost:8888' } }
|
107
|
+
|
108
|
+
it 'will set proxy' do
|
109
|
+
expect(options_client.proxy).to eq('http://localhost:8888')
|
110
|
+
end
|
111
|
+
|
112
|
+
# There doesn't seem to be an elgant way to test that a request actually uses a proxy, so the best
|
113
|
+
# we can do here is ensure that the behavior for methods operates normally
|
114
|
+
it 'will execute methods with proxy' do
|
115
|
+
VCR.use_cassette(:engine_search) do
|
116
|
+
results = options_client.search(engine_slug, 'cat')
|
117
|
+
expect(results.document_types.size).to eq(2)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
104
121
|
end
|
105
122
|
end
|
106
123
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swiftype
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Quin Hoxie
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|