stretcher 1.18.0 → 1.18.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/stretcher/server.rb +10 -6
- data/lib/stretcher/version.rb +1 -1
- data/spec/lib/stretcher_server_spec.rb +5 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 687ea05d11e4a6f9e96deaf8127a85105b170819
|
4
|
+
data.tar.gz: 467daf1b89a43624ea66de6e0fcb4f0575f96d4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aeec19b3c20a5664f6b4be9b42fa01929b40315bb8baf3c75de8d5ca4b6a6655c8f1f1399e37ddb0aaedd73adbba062f4be095af9d10cac1c4782348127f4480
|
7
|
+
data.tar.gz: cacffffb224c51feaec032292e63df52b7ae3017ff72e50692bd0b03992d2953eaf3bd4e7dd331882434d3e53622bf5654631f36f1e307be7cbdb5aad27124c4
|
data/lib/stretcher/server.rb
CHANGED
@@ -4,8 +4,8 @@ module Stretcher
|
|
4
4
|
|
5
5
|
# Internal use only.
|
6
6
|
# Returns a properly configured HTTP client when initializing an instance
|
7
|
-
def self.build_client(
|
8
|
-
http = Faraday.new(:url =>
|
7
|
+
def self.build_client(uri_components, options={})
|
8
|
+
http = Faraday.new(:url => uri_components) do |builder|
|
9
9
|
builder.response :mashify
|
10
10
|
builder.response :multi_json, :content_type => /\bjson$/
|
11
11
|
|
@@ -26,7 +26,6 @@ module Stretcher
|
|
26
26
|
"Content-Type" => "application/json"
|
27
27
|
}
|
28
28
|
|
29
|
-
uri_components = URI.parse(uri)
|
30
29
|
if uri_components.user || uri_components.password
|
31
30
|
http.basic_auth(uri_components.user, uri_components.password)
|
32
31
|
end
|
@@ -73,10 +72,15 @@ module Stretcher
|
|
73
72
|
# For instance:
|
74
73
|
# configurator = proc {|builder| builder.adapter :typhoeus
|
75
74
|
# Stretcher::Server.new('http://localhost:9200', :faraday_configurator => configurator)
|
75
|
+
#
|
76
|
+
# You may want to set one or both of :read_timeout and :open_timeout, for Faraday's HTTP
|
77
|
+
# settings. The default is read_timeout: 30, open_timeout: 2, which can be quite long
|
78
|
+
# in many situations
|
76
79
|
def initialize(uri='http://localhost:9200', options={})
|
77
80
|
@request_mtx = Mutex.new
|
78
|
-
@uri = uri
|
79
|
-
@
|
81
|
+
@uri = uri.to_s
|
82
|
+
@uri_components = URI.parse(@uri)
|
83
|
+
@http = self.class.build_client(@uri_components, options)
|
80
84
|
@logger = self.class.build_logger(options)
|
81
85
|
end
|
82
86
|
|
@@ -196,7 +200,7 @@ module Stretcher
|
|
196
200
|
|
197
201
|
# Full path to the server root dir
|
198
202
|
def path_uri(path=nil)
|
199
|
-
URI.join(@uri.to_s, path.to_s).to_s
|
203
|
+
URI.join(@uri.to_s, "#{@uri_components.path}/#{path.to_s}").to_s
|
200
204
|
end
|
201
205
|
|
202
206
|
# Handy way to query the server, returning *only* the body
|
data/lib/stretcher/version.rb
CHANGED
@@ -102,6 +102,11 @@ describe Stretcher::Server do
|
|
102
102
|
subject { Stretcher::Server.new("http://example.com").path_uri("/foo") }
|
103
103
|
it { should eq ("http://example.com/foo") }
|
104
104
|
end
|
105
|
+
|
106
|
+
context "server lives in a subdirectory" do
|
107
|
+
subject { Stretcher::Server.new("http://example.com/mysubdir/").path_uri("/foo") }
|
108
|
+
it { should eq ("http://example.com/mysubdir/foo") }
|
109
|
+
end
|
105
110
|
end
|
106
111
|
|
107
112
|
describe "#get_alias" do
|