chupa-text 1.2.4 → 1.2.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31b9d60aabd1c46f98936b2d0b9f78f48d5c868f4db9280f56b4b1d63501cfd7
4
- data.tar.gz: dfc84f009246bdb3ce6f48183febb5911340bddb2e6308d412294955b2b97586
3
+ metadata.gz: 6eed021988da255a580fd8749e9f023f5a661c7950baff1403918ea153d48073
4
+ data.tar.gz: 0aa05754add5afd4b2527ed7b2bc90f8061b558ee0910d74b32f19658c3d3f2e
5
5
  SHA512:
6
- metadata.gz: 688cc085c6cf205261b06283268a25d744440943fb9f972661d728d37fd24bbbc6caa9a0faabf9fa11e349a74d02dfec503dff8b4a0a32b82f2f27fbc7481b99
7
- data.tar.gz: 84bb203f19333a733ebce2569e21e3284d140b0055202bae77605a052222e47580c8e7e4b1f5d7c328d56ac4965db2b9a202aff9e22ed413e3a871a40cea4f37
6
+ metadata.gz: 826667ab8c067a9a09c2b1801bc90a76869e43c345d262efd29a564da80a37c67f6ae607645c91487fe264fae4f872dec7f7ac7324ba0ed755f0a7759686e992
7
+ data.tar.gz: 2696c77f826dc04c27da73b97a640f723afd2007e2310ce35a2d67d27a28c924afeb3dbc3ceb298f7e9befafe2619c782ad300ce9fb086a49466b664d27b9d80
data/doc/text/news.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # News
2
2
 
3
+ ## 1.2.5: 2019-05-20
4
+
5
+ ### Improvements
6
+
7
+ * `http-server`: Added support for changing the default URL at run-time.
8
+
3
9
  ## 1.2.4: 2019-03-29
4
10
 
5
11
  ### Fixes
@@ -38,16 +38,13 @@ module ChupaText
38
38
 
39
39
  def initialize(options)
40
40
  super
41
- @url = @options[:url] ||
42
- self.class.default_url ||
43
- ENV["CHUPA_TEXT_HTTP_SERVER_URL"]
41
+ @url = @options[:url]
44
42
  @url = URI(@url) if @url
45
43
  end
46
44
 
47
45
  def target?(data)
48
- return false unless @url
49
46
  return false if data.text_plain?
50
- true
47
+ @url or default_url
51
48
  end
52
49
 
53
50
  def target_score(data)
@@ -59,8 +56,9 @@ module ChupaText
59
56
  end
60
57
 
61
58
  def decompose(data, &block)
62
- http = Net::HTTP.new(@url.host, @url.port)
63
- http.use_ssl = true if @url.is_a?(URI::HTTPS)
59
+ url = @url || default_url
60
+ http = Net::HTTP.new(url.host, url.port)
61
+ http.use_ssl = true if url.is_a?(URI::HTTPS)
64
62
  if data.timeout.is_a?(Numeric)
65
63
  http.open_timeout = data.timeout * 1.5
66
64
  http.read_timeout = data.timeout * 1.5
@@ -70,13 +68,13 @@ module ChupaText
70
68
  end
71
69
  begin
72
70
  http.start do
73
- process_request(http, data, &block)
71
+ process_request(url, http, data, &block)
74
72
  end
75
73
  rescue SystemCallError => error
76
74
  error do
77
75
  message = "#{log_tag}[connection] "
78
76
  message << "Failed to process data in server: "
79
- message << "#{@url}: "
77
+ message << "#{url}: "
80
78
  message << "#{error.class}: #{error.message}\n"
81
79
  message << error.backtrace.join("\n")
82
80
  message
@@ -85,7 +83,7 @@ module ChupaText
85
83
  error do
86
84
  message = "#{log_tag}[timeout] "
87
85
  message << "Failed to process data in server: "
88
- message << "#{@url}: "
86
+ message << "#{url}: "
89
87
  message << "#{error.class}: #{error.message}\n"
90
88
  message << error.backtrace.join("\n")
91
89
  message
@@ -94,8 +92,14 @@ module ChupaText
94
92
  end
95
93
 
96
94
  private
97
- def process_request(http, data)
98
- request = Net::HTTP::Post.new(@url)
95
+ def default_url
96
+ url = self.class.default_url || ENV["CHUPA_TEXT_HTTP_SERVER_URL"]
97
+ return nil if url.nil?
98
+ URI(url)
99
+ end
100
+
101
+ def process_request(url, http, data)
102
+ request = Net::HTTP::Post.new(url)
99
103
  request["transfer-encoding"] = "chunked"
100
104
  data.open do |input|
101
105
  request.set_form(build_parameters(data, input),
@@ -115,7 +119,7 @@ module ChupaText
115
119
  else
116
120
  error do
117
121
  message = "#{log_tag} Failed to process data in server: "
118
- message << "#{@url}: "
122
+ message << "#{url}: "
119
123
  message << "#{response.code}: #{response.message.strip}\n"
120
124
  case response.content_type
121
125
  when "application/json"
@@ -15,5 +15,5 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  module ChupaText
18
- VERSION = "1.2.4"
18
+ VERSION = "1.2.5"
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chupa-text
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-29 00:00:00.000000000 Z
11
+ date: 2019-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: archive-zip
@@ -126,8 +126,8 @@ description: ''
126
126
  email:
127
127
  - kou@clear-code.com
128
128
  executables:
129
- - chupa-text
130
129
  - chupa-text-generate-decomposer
130
+ - chupa-text
131
131
  extensions: []
132
132
  extra_rdoc_files: []
133
133
  files: