rsolr 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +2 -0
- data/lib/rsolr/connection.rb +3 -13
- data/lib/rsolr.rb +1 -1
- data/spec/api/connection_spec.rb +33 -8
- metadata +10 -16
data/CHANGES.txt
CHANGED
data/lib/rsolr/connection.rb
CHANGED
@@ -47,8 +47,6 @@ class RSolr::Connection
|
|
47
47
|
when :get
|
48
48
|
Net::HTTP::Get
|
49
49
|
when :post
|
50
|
-
#require 'net/http/post/multipart'
|
51
|
-
#File === request_context[:data] ? Net::HTTP::Post::Multipart : Net::HTTP::Post
|
52
50
|
Net::HTTP::Post
|
53
51
|
when :head
|
54
52
|
Net::HTTP::Head
|
@@ -56,17 +54,9 @@ class RSolr::Connection
|
|
56
54
|
raise "Only :get, :post and :head http method types are allowed."
|
57
55
|
end
|
58
56
|
headers = request_context[:headers] || {}
|
59
|
-
|
60
|
-
# io = request_context[:data]
|
61
|
-
# UploadIO.convert! io, request_context[:headers]["Content-Type"], io.path, io.path
|
62
|
-
# raw_request =
|
63
|
-
# Net::HTTP::Post::Multipart.new(
|
64
|
-
# request_context[:path],
|
65
|
-
# :file => io)
|
66
|
-
# else
|
67
|
-
raw_request = http_method.new request_context[:uri].request_uri
|
68
|
-
# end
|
57
|
+
raw_request = http_method.new request_context[:uri].request_uri
|
69
58
|
raw_request.initialize_http_header headers
|
59
|
+
raw_request.basic_auth(request_context[:uri].user, request_context[:uri].password) if request_context[:uri].user && request_context[:uri].password
|
70
60
|
raw_request
|
71
61
|
end
|
72
62
|
|
@@ -77,4 +67,4 @@ class RSolr::Connection
|
|
77
67
|
body.force_encoding(charset)
|
78
68
|
end
|
79
69
|
|
80
|
-
end
|
70
|
+
end
|
data/lib/rsolr.rb
CHANGED
data/spec/api/connection_spec.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'base64'
|
3
|
+
|
2
4
|
describe "RSolr::Connection" do
|
3
5
|
|
4
6
|
context "setup_raw_request" do
|
@@ -15,37 +17,60 @@ describe "RSolr::Connection" do
|
|
15
17
|
context "read timeout configuration" do
|
16
18
|
let(:client) { mock.as_null_object }
|
17
19
|
|
20
|
+
let(:http) { mock(Net::HTTP).as_null_object }
|
21
|
+
|
18
22
|
subject { RSolr::Connection.new }
|
19
23
|
|
24
|
+
before do
|
25
|
+
Net::HTTP.stub(:new) { http }
|
26
|
+
end
|
27
|
+
|
20
28
|
it "should configure Net:HTTP read_timeout" do
|
29
|
+
http.should_receive(:read_timeout=).with(42)
|
21
30
|
subject.execute client, {:uri => URI.parse("http://localhost/some_uri"), :method => :get, :read_timeout => 42}
|
22
|
-
http = subject.instance_variable_get(:@http)
|
23
|
-
http.read_timeout.should == 42
|
24
31
|
end
|
25
32
|
|
26
33
|
it "should use Net:HTTP default read_timeout if not specified" do
|
34
|
+
http.should_not_receive(:read_timeout=)
|
27
35
|
subject.execute client, {:uri => URI.parse("http://localhost/some_uri"), :method => :get}
|
28
|
-
http = subject.instance_variable_get(:@http)
|
29
|
-
http.read_timeout.should == 60
|
30
36
|
end
|
31
37
|
end
|
32
38
|
|
33
39
|
context "open timeout configuration" do
|
34
40
|
let(:client) { mock.as_null_object }
|
35
41
|
|
42
|
+
let(:http) { mock(Net::HTTP).as_null_object }
|
43
|
+
|
36
44
|
subject { RSolr::Connection.new }
|
37
45
|
|
46
|
+
before do
|
47
|
+
Net::HTTP.stub(:new) { http }
|
48
|
+
end
|
49
|
+
|
38
50
|
it "should configure Net:HTTP open_timeout" do
|
51
|
+
http.should_receive(:open_timeout=).with(42)
|
39
52
|
subject.execute client, {:uri => URI.parse("http://localhost/some_uri"), :method => :get, :open_timeout => 42}
|
40
|
-
http = subject.instance_variable_get(:@http)
|
41
|
-
http.open_timeout.should == 42
|
42
53
|
end
|
43
54
|
|
44
55
|
it "should use Net:HTTP default open_timeout if not specified" do
|
56
|
+
http.should_not_receive(:open_timeout=)
|
45
57
|
subject.execute client, {:uri => URI.parse("http://localhost/some_uri"), :method => :get}
|
46
|
-
http = subject.instance_variable_get(:@http)
|
47
|
-
http.open_timeout.should == nil
|
48
58
|
end
|
49
59
|
end
|
50
60
|
|
61
|
+
describe "basic auth support" do
|
62
|
+
let(:http) { mock(Net::HTTP).as_null_object }
|
63
|
+
|
64
|
+
before do
|
65
|
+
Net::HTTP.stub(:new) { http }
|
66
|
+
end
|
67
|
+
|
68
|
+
it "sets the authorization header" do
|
69
|
+
http.should_receive(:request) do |request|
|
70
|
+
request.fetch('authorization').should == "Basic #{Base64.encode64("joe:pass")}".strip
|
71
|
+
mock(Net::HTTPResponse).as_null_object
|
72
|
+
end
|
73
|
+
RSolr::Connection.new.execute nil, :uri => URI.parse("http://joe:pass@localhost:8983/solr"), :method => :get
|
74
|
+
end
|
75
|
+
end
|
51
76
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsolr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -29,11 +29,11 @@ authors:
|
|
29
29
|
autorequire:
|
30
30
|
bindir: bin
|
31
31
|
cert_chain: []
|
32
|
-
date: 2012-
|
32
|
+
date: 2012-04-22 00:00:00.000000000Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: builder
|
36
|
-
requirement: &
|
36
|
+
requirement: &70327300845420 !ruby/object:Gem::Requirement
|
37
37
|
none: false
|
38
38
|
requirements:
|
39
39
|
- - ! '>='
|
@@ -41,10 +41,10 @@ dependencies:
|
|
41
41
|
version: 2.1.2
|
42
42
|
type: :runtime
|
43
43
|
prerelease: false
|
44
|
-
version_requirements: *
|
44
|
+
version_requirements: *70327300845420
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: rake
|
47
|
-
requirement: &
|
47
|
+
requirement: &70327300844920 !ruby/object:Gem::Requirement
|
48
48
|
none: false
|
49
49
|
requirements:
|
50
50
|
- - ~>
|
@@ -52,10 +52,10 @@ dependencies:
|
|
52
52
|
version: 0.9.2
|
53
53
|
type: :development
|
54
54
|
prerelease: false
|
55
|
-
version_requirements: *
|
55
|
+
version_requirements: *70327300844920
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rdoc
|
58
|
-
requirement: &
|
58
|
+
requirement: &70327300844460 !ruby/object:Gem::Requirement
|
59
59
|
none: false
|
60
60
|
requirements:
|
61
61
|
- - ~>
|
@@ -63,10 +63,10 @@ dependencies:
|
|
63
63
|
version: 3.9.4
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
|
-
version_requirements: *
|
66
|
+
version_requirements: *70327300844460
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: rspec
|
69
|
-
requirement: &
|
69
|
+
requirement: &70327300844000 !ruby/object:Gem::Requirement
|
70
70
|
none: false
|
71
71
|
requirements:
|
72
72
|
- - ~>
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
version: 2.6.0
|
75
75
|
type: :development
|
76
76
|
prerelease: false
|
77
|
-
version_requirements: *
|
77
|
+
version_requirements: *70327300844000
|
78
78
|
description: RSolr aims to provide a simple and extensible library for working with
|
79
79
|
Solr
|
80
80
|
email:
|
@@ -123,18 +123,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
123
|
- - ! '>='
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
|
-
segments:
|
127
|
-
- 0
|
128
|
-
hash: -700646824116965374
|
129
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
127
|
none: false
|
131
128
|
requirements:
|
132
129
|
- - ! '>='
|
133
130
|
- !ruby/object:Gem::Version
|
134
131
|
version: '0'
|
135
|
-
segments:
|
136
|
-
- 0
|
137
|
-
hash: -700646824116965374
|
138
132
|
requirements: []
|
139
133
|
rubyforge_project: rsolr
|
140
134
|
rubygems_version: 1.8.11
|