yup 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -31,7 +31,7 @@ module Yup
31
31
  http.callback do
32
32
  Yup.watermark += 1
33
33
 
34
- if http.response_header.status / 100 == 2
34
+ if http.response_header && http.response_header.status && http.response_header.status / 100 == 2
35
35
  log_response(http)
36
36
  @logger.info "Success"
37
37
  else
@@ -47,7 +47,7 @@ module Yup
47
47
 
48
48
  http.errback do
49
49
  log_response(http)
50
- @logger.info "Error: #{http.error}; will retry after #{Yup.resend_delay} seconds"
50
+ @logger.info "Error: #{http.inspect}: #{http.error}; will retry after #{Yup.resend_delay} seconds"
51
51
 
52
52
  EventMachine.add_timer(Yup.resend_delay, &self.method(:retry))
53
53
  end
@@ -95,7 +95,7 @@ module Yup
95
95
  def make_request(req)
96
96
  begin
97
97
  @http_method, @request_url, headers, body = req
98
- headers = Hash[headers.to_a.flatten.map(&:to_s)]
98
+ headers = Hash[*headers.to_a.flatten.map(&:to_s)]
99
99
  headers["Host"] = @forward_to
100
100
  headers["Connection"] = "Close"
101
101
 
@@ -103,8 +103,8 @@ module Yup
103
103
  headers.each do |k, v|
104
104
  req << "#{k}: #{v}\r\n"
105
105
  end
106
- req << body if !body.empty?
107
106
  req << "\r\n"
107
+ req << body if !body.empty?
108
108
  raw_response = send_data(req.to_s, @forward_to)
109
109
 
110
110
  response_body = ""
@@ -114,7 +114,7 @@ module Yup
114
114
  end
115
115
  http << raw_response
116
116
 
117
- if http.status_code / 100 == 2
117
+ if http.status_code && http.status_code / 100 == 2
118
118
  log_response(raw_response, response_body, http)
119
119
  @logger.info "Success"
120
120
  else
@@ -131,7 +131,7 @@ module Yup
131
131
 
132
132
  rescue Exception, Timeout::Error => e
133
133
  log_response(raw_response, response_body, http)
134
- @logger.info "Error: #{e.message}; will retry after #{Yup.resend_delay} seconds"
134
+ @logger.info "Error: #{e.class}: #{e.message}; will retry after #{Yup.resend_delay} seconds"
135
135
 
136
136
  @state.to_feedback(Yajl::Encoder.encode([@http_method.downcase, @request_url, headers, body]))
137
137
 
@@ -31,7 +31,7 @@ class TestPersistenceYup < MiniTest::Unit::TestCase
31
31
  case $attempts
32
32
  when 0
33
33
  when 1
34
- send_data "HTTP/1.1 400 OK\r\nServer: test\r\n\r\n"
34
+ send_data "HTTP/1.1 400 Bad Request\r\nServer: test\r\n\r\n"
35
35
  close_connection_after_writing
36
36
  when 2
37
37
  send_data "HTTP/1.1 200 OK\r\nServer: test\r\n\r\n"
@@ -27,7 +27,8 @@ class TestYup < MiniTest::Unit::TestCase
27
27
  case $attempts
28
28
  when 0
29
29
  when 1
30
- send_data "HTTP/1.1 400 OK\r\nServer: test\r\n\r\n"
30
+ send_data "HTTP/1.1 400 Bad Request\r\nServer: test\r\n\r\n"
31
+ close_connection_after_writing
31
32
  when 2
32
33
  send_data "HTTP/1.1 200 OK\r\nServer: test\r\n\r\n"
33
34
  close_connection_after_writing
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "yup"
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Denis Sukhonin"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -262,7 +262,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
262
262
  version: '0'
263
263
  segments:
264
264
  - 0
265
- hash: 3705403609961748378
265
+ hash: 2912788613092729472
266
266
  required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  none: false
268
268
  requirements: