racknga 0.9.4 → 0.9.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 +4 -4
- data/README.md +44 -0
- data/Rakefile +1 -1
- data/doc/text/{news.textile → news.md} +18 -9
- data/lib/racknga/api-keys.rb +2 -3
- data/lib/racknga/exception_mail_notifier.rb +13 -12
- data/lib/racknga/middleware/cache.rb +3 -5
- data/lib/racknga/middleware/jsonp.rb +3 -5
- data/lib/racknga/middleware/range.rb +3 -5
- data/lib/racknga/version.rb +2 -4
- data/test/racknga-test-utils.rb +0 -5
- data/test/run-test.rb +1 -2
- metadata +43 -18
- data/README.textile +0 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a79351d478e9f65c4a538c46887772e03d50a40ec6184cd293a66c4fd3b17693
|
4
|
+
data.tar.gz: 6063c757219857417651798caa288da2467e891faadaf0ff1699b1ac0f171d0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b5143554b8e2ded028e10e37f74b6b01064c12a8bfc8fee957bbb0167748cbb043c9ebb0ccbc7e9949239bd095bb971f449dc85e4a4fb7688647b4536fce905
|
7
|
+
data.tar.gz: 902a9509717410a4f9221f7d12b7398485ab7a0ecb2996e80874ffd97f050d52446aca77e20d2a6c2f9365110742d97d55b3704481f6a3debf0070387f82ff50
|
data/README.md
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# README
|
2
|
+
|
3
|
+
## Name
|
4
|
+
|
5
|
+
Racknga
|
6
|
+
|
7
|
+
## Description
|
8
|
+
|
9
|
+
Rack middlewares that use Rroonga features and
|
10
|
+
middlewares/utilities that don't use Rroonga features.
|
11
|
+
|
12
|
+
* [Rroonga](https://ranguba.org/)
|
13
|
+
* [Rack](https://rack.github.io/)
|
14
|
+
|
15
|
+
## Authors
|
16
|
+
|
17
|
+
* Sutou Kouhei `<kou@clear-code.com>`
|
18
|
+
|
19
|
+
## License
|
20
|
+
|
21
|
+
LGPL 2.1 or later. See license/lgpl-2.1.txt for details.
|
22
|
+
|
23
|
+
(Sutou Kouhei has a right to change the license
|
24
|
+
including contributed patches.)
|
25
|
+
|
26
|
+
## Dependencies
|
27
|
+
|
28
|
+
* Ruby >= 1.9.1
|
29
|
+
* Rroonga
|
30
|
+
* Rack
|
31
|
+
|
32
|
+
## Suggested libraries
|
33
|
+
|
34
|
+
* jpmobile
|
35
|
+
|
36
|
+
## Install
|
37
|
+
|
38
|
+
```console
|
39
|
+
$ sudo gem install racknga
|
40
|
+
```
|
41
|
+
|
42
|
+
## Documents
|
43
|
+
|
44
|
+
https://ranguba.org/racknga/en/
|
data/Rakefile
CHANGED
@@ -1,16 +1,25 @@
|
|
1
|
-
|
1
|
+
# NEWS
|
2
2
|
|
3
|
-
|
3
|
+
## 0.9.5: 2024-04-08
|
4
4
|
|
5
|
-
|
5
|
+
### Improvments
|
6
|
+
|
7
|
+
* Added `base64` dependency.
|
8
|
+
* Added `net-smtp` dependency.
|
9
|
+
* Removed `nkf` dependency.
|
10
|
+
* Stopped using deprecated APIs of Rack.
|
11
|
+
|
12
|
+
## 0.9.4: 2023-09-03
|
13
|
+
|
14
|
+
### Improvments
|
6
15
|
|
7
16
|
* [cache] Made Rroonga dependency optional. Users must add Rroonga
|
8
17
|
dependency explicitly.
|
9
18
|
* And more improvements...
|
10
19
|
|
11
|
-
|
20
|
+
## 0.9.3: 2011-11-12
|
12
21
|
|
13
|
-
|
22
|
+
### Improvments
|
14
23
|
|
15
24
|
* [access-log-parser] Supported Apache log.
|
16
25
|
* [cache] Fixed unknown name errors.
|
@@ -20,9 +29,9 @@ h3. Improvments
|
|
20
29
|
* [exception-mail-notifier] Used #message instead of #to_s.
|
21
30
|
* [logger] Logged also X-Runtime.
|
22
31
|
|
23
|
-
|
32
|
+
## 0.9.2: 2011-08-07
|
24
33
|
|
25
|
-
|
34
|
+
### Improvments
|
26
35
|
|
27
36
|
* [munin] Supported Passenger 3 support.
|
28
37
|
* [munin] Removed Passenger 2 support.
|
@@ -36,7 +45,7 @@ h3. Improvments
|
|
36
45
|
* Added NginixAccessLogParser.
|
37
46
|
* Documented middlewares.
|
38
47
|
|
39
|
-
|
48
|
+
## 0.9.1: 2010-11-11
|
40
49
|
|
41
50
|
* Improved cache validation.
|
42
51
|
* Supported caches per User-Agent.
|
@@ -47,6 +56,6 @@ h2. 0.9.1: 2010-11-11
|
|
47
56
|
* Changed license to LGPLv2.1 or later from LGPLv2.1.
|
48
57
|
* Supported will_paginate.
|
49
58
|
|
50
|
-
|
59
|
+
## 0.9.0: 2010-07-04
|
51
60
|
|
52
61
|
* Initial release!
|
data/lib/racknga/api-keys.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
#
|
3
1
|
# Copyright (C) 2012 Haruka Yoshihara <yoshihara@clear-code.com>
|
2
|
+
# Copyright (C) 2024 Sutou Kouhei <kou@clear-code.com>
|
4
3
|
#
|
5
4
|
# This library is free software; you can redistribute it and/or
|
6
5
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -32,7 +31,7 @@ module Racknga
|
|
32
31
|
# @return [Boolean] true if an API key is included, or false if not.
|
33
32
|
def include?(environment)
|
34
33
|
request = Rack::Request.new(environment)
|
35
|
-
key = request[@query_parameter]
|
34
|
+
key = request.params[@query_parameter]
|
36
35
|
|
37
36
|
@api_keys.include?(key)
|
38
37
|
end
|
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2010-2011 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2010-2024 Sutou Kouhei <kou@clear-code.com>
|
4
2
|
#
|
5
3
|
# This library is free software; you can redistribute it and/or
|
6
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -16,13 +14,13 @@
|
|
16
14
|
# License along with this library; if not, write to the Free Software
|
17
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
16
|
|
19
|
-
require
|
20
|
-
require
|
21
|
-
require
|
22
|
-
require
|
23
|
-
require
|
17
|
+
require "base64"
|
18
|
+
require "etc"
|
19
|
+
require "net/smtp"
|
20
|
+
require "socket"
|
21
|
+
require "time"
|
24
22
|
|
25
|
-
require
|
23
|
+
require "racknga/utils"
|
26
24
|
|
27
25
|
module Racknga
|
28
26
|
# Ruby 1.9 only. 1.8 isn't supported.
|
@@ -198,10 +196,13 @@ EOB
|
|
198
196
|
def encode_subject(subject)
|
199
197
|
case charset
|
200
198
|
when /\Aiso-2022-jp\z/i
|
201
|
-
|
202
|
-
|
203
|
-
|
199
|
+
subject = subject.encode("ISO-2022-JP")
|
200
|
+
end
|
201
|
+
base64_subject = Base64.encode64(subject)
|
202
|
+
lines = base64_subject.lines.collect do |line|
|
203
|
+
"=?#{charset}?B?#{line.chomp}?="
|
204
204
|
end
|
205
|
+
lines.join("\r\n")
|
205
206
|
end
|
206
207
|
end
|
207
208
|
end
|
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2010 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2010-2024 Sutou Kouhei <kou@clear-code.com>
|
4
2
|
#
|
5
3
|
# This library is free software; you can redistribute it and/or
|
6
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -138,7 +136,7 @@ module Racknga
|
|
138
136
|
def skip_caching_response?(status, headers, body)
|
139
137
|
return true if status != 200
|
140
138
|
|
141
|
-
headers = Rack::
|
139
|
+
headers = Rack::Headers[headers]
|
142
140
|
content_type = headers["Content-Type"]
|
143
141
|
if /\A(\w+)\/([\w.+\-]+)\b/ =~ content_type
|
144
142
|
media_type = $1
|
@@ -167,7 +165,7 @@ module Racknga
|
|
167
165
|
end
|
168
166
|
|
169
167
|
now = Time.now
|
170
|
-
headers = Rack::
|
168
|
+
headers = Rack::Headers[headers]
|
171
169
|
headers["Last-Modified"] ||= now.httpdate
|
172
170
|
encoded_body = ''.force_encoding("ASCII-8BIT")
|
173
171
|
deflater = ::Zlib::Deflate.new
|
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2010-2012 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2010-2024 Sutou Kouhei <kou@clear-code.com>
|
4
2
|
#
|
5
3
|
# This library is free software; you can redistribute it and/or
|
6
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -84,11 +82,11 @@ module Racknga
|
|
84
82
|
# For Rack.
|
85
83
|
def call(environment)
|
86
84
|
request = Rack::Request.new(environment)
|
87
|
-
callback = request["callback"]
|
85
|
+
callback = request.params["callback"]
|
88
86
|
update_cache_key(request) if callback
|
89
87
|
status, headers, body = @application.call(environment)
|
90
88
|
return [status, headers, body] unless callback
|
91
|
-
header_hash = Rack::
|
89
|
+
header_hash = Rack::Headers[headers]
|
92
90
|
return [status, headers, body] unless json_response?(header_hash)
|
93
91
|
body = Writer.new(callback, body)
|
94
92
|
update_header_hash(header_hash, body)
|
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2010 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2010-2024 Sutou Kouhei <kou@clear-code.com>
|
4
2
|
#
|
5
3
|
# This library is free software; you can redistribute it and/or
|
6
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -38,7 +36,7 @@ module Racknga
|
|
38
36
|
status, headers, body = @application.call(environment)
|
39
37
|
return [status, headers, body] if status != 200
|
40
38
|
|
41
|
-
headers = Rack::
|
39
|
+
headers = Rack::Headers[headers]
|
42
40
|
headers["Accept-Ranges"] = "bytes"
|
43
41
|
request = Rack::Request.new(environment)
|
44
42
|
range = request.env["HTTP_RANGE"]
|
@@ -60,7 +58,7 @@ module Racknga
|
|
60
58
|
|
61
59
|
if first_byte.empty? and last_byte.empty?
|
62
60
|
headers["Content-Length"] = "0"
|
63
|
-
return [Rack::Utils.status_code(:
|
61
|
+
return [Rack::Utils.status_code(:range_not_satisfiable),
|
64
62
|
headers,
|
65
63
|
[]]
|
66
64
|
end
|
data/lib/racknga/version.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2010-2011 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2010-2023 Sutou Kouhei <kou@clear-code.com>
|
4
2
|
#
|
5
3
|
# This library is free software; you can redistribute it and/or
|
6
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -17,5 +15,5 @@
|
|
17
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
16
|
|
19
17
|
module Racknga
|
20
|
-
VERSION =
|
18
|
+
VERSION = "0.9.5"
|
21
19
|
end
|
data/test/racknga-test-utils.rb
CHANGED
@@ -22,11 +22,6 @@ require 'racknga/middleware/auth/api-key'
|
|
22
22
|
require 'racknga/middleware/cache'
|
23
23
|
require 'racknga/middleware/instance_name'
|
24
24
|
|
25
|
-
Capybara.configure do |config|
|
26
|
-
config.default_driver = nil
|
27
|
-
config.current_driver = nil
|
28
|
-
end
|
29
|
-
|
30
25
|
module RackngaTestUtils
|
31
26
|
include Capybara::DSL
|
32
27
|
|
data/test/run-test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
# Copyright (C) 2010-
|
3
|
+
# Copyright (C) 2010-2024 Sutou Kouhei <kou@clear-code.com>
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -31,7 +31,6 @@ require "rubygems"
|
|
31
31
|
require "bundler/setup"
|
32
32
|
|
33
33
|
require 'test/unit'
|
34
|
-
require 'test/unit/notify'
|
35
34
|
|
36
35
|
Test::Unit::Priority.enable
|
37
36
|
|
metadata
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: racknga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2024-04-08 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
13
|
+
name: base64
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
@@ -25,13 +24,41 @@ dependencies:
|
|
25
24
|
- !ruby/object:Gem::Version
|
26
25
|
version: '0'
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
27
|
+
name: csv
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
|
-
type: :
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: net-smtp
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rack
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
type: :runtime
|
35
62
|
prerelease: false
|
36
63
|
version_requirements: !ruby/object:Gem::Requirement
|
37
64
|
requirements:
|
@@ -53,7 +80,7 @@ dependencies:
|
|
53
80
|
- !ruby/object:Gem::Version
|
54
81
|
version: '0'
|
55
82
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
83
|
+
name: kramdown
|
57
84
|
requirement: !ruby/object:Gem::Requirement
|
58
85
|
requirements:
|
59
86
|
- - ">="
|
@@ -67,7 +94,7 @@ dependencies:
|
|
67
94
|
- !ruby/object:Gem::Version
|
68
95
|
version: '0'
|
69
96
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
97
|
+
name: packnga
|
71
98
|
requirement: !ruby/object:Gem::Requirement
|
72
99
|
requirements:
|
73
100
|
- - ">="
|
@@ -81,7 +108,7 @@ dependencies:
|
|
81
108
|
- !ruby/object:Gem::Version
|
82
109
|
version: '0'
|
83
110
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
111
|
+
name: rake
|
85
112
|
requirement: !ruby/object:Gem::Requirement
|
86
113
|
requirements:
|
87
114
|
- - ">="
|
@@ -95,7 +122,7 @@ dependencies:
|
|
95
122
|
- !ruby/object:Gem::Version
|
96
123
|
version: '0'
|
97
124
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
125
|
+
name: rroonga
|
99
126
|
requirement: !ruby/object:Gem::Requirement
|
100
127
|
requirements:
|
101
128
|
- - ">="
|
@@ -109,7 +136,7 @@ dependencies:
|
|
109
136
|
- !ruby/object:Gem::Version
|
110
137
|
version: '0'
|
111
138
|
- !ruby/object:Gem::Dependency
|
112
|
-
name: test-unit
|
139
|
+
name: test-unit
|
113
140
|
requirement: !ruby/object:Gem::Requirement
|
114
141
|
requirements:
|
115
142
|
- - ">="
|
@@ -123,7 +150,7 @@ dependencies:
|
|
123
150
|
- !ruby/object:Gem::Version
|
124
151
|
version: '0'
|
125
152
|
- !ruby/object:Gem::Dependency
|
126
|
-
name: test-unit-
|
153
|
+
name: test-unit-capybara
|
127
154
|
requirement: !ruby/object:Gem::Requirement
|
128
155
|
requirements:
|
129
156
|
- - ">="
|
@@ -142,13 +169,13 @@ email:
|
|
142
169
|
executables: []
|
143
170
|
extensions: []
|
144
171
|
extra_rdoc_files:
|
145
|
-
- README.
|
172
|
+
- README.md
|
146
173
|
files:
|
147
174
|
- AUTHORS
|
148
175
|
- Gemfile
|
149
|
-
- README.
|
176
|
+
- README.md
|
150
177
|
- Rakefile
|
151
|
-
- doc/text//news.
|
178
|
+
- doc/text//news.md
|
152
179
|
- lib/racknga.rb
|
153
180
|
- lib/racknga/access_log_parser.rb
|
154
181
|
- lib/racknga/api-keys.rb
|
@@ -185,7 +212,6 @@ homepage: http://ranguba.org/
|
|
185
212
|
licenses:
|
186
213
|
- LGPLv2.1 or later
|
187
214
|
metadata: {}
|
188
|
-
post_install_message:
|
189
215
|
rdoc_options: []
|
190
216
|
require_paths:
|
191
217
|
- lib
|
@@ -200,8 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
226
|
- !ruby/object:Gem::Version
|
201
227
|
version: '0'
|
202
228
|
requirements: []
|
203
|
-
rubygems_version: 3.
|
204
|
-
signing_key:
|
229
|
+
rubygems_version: 3.6.0.dev
|
205
230
|
specification_version: 4
|
206
231
|
summary: A Rack middleware collection for Rroonga features.
|
207
232
|
test_files:
|
data/README.textile
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
h1. README
|
2
|
-
|
3
|
-
h2. Name
|
4
|
-
|
5
|
-
Racknga
|
6
|
-
|
7
|
-
h2. Description
|
8
|
-
|
9
|
-
Rack middlewares that use Rroonga features and
|
10
|
-
middlewares/utilities that don't use Rroonga features.
|
11
|
-
|
12
|
-
* "Rroonga":http://ranguba.org/
|
13
|
-
* "Rack":http://rack.github.io/
|
14
|
-
|
15
|
-
h2. Authors
|
16
|
-
|
17
|
-
* Kouhei Sutou <kou@clear-code.com>
|
18
|
-
|
19
|
-
h2. License
|
20
|
-
|
21
|
-
LGPL 2.1 or later. See license/lgpl-2.1.txt for details.
|
22
|
-
|
23
|
-
(Kouhei Sutou has a right to change the license
|
24
|
-
including contributed patches.)
|
25
|
-
|
26
|
-
h2. Dependencies
|
27
|
-
|
28
|
-
* Ruby >= 1.9.1
|
29
|
-
* Rroonga
|
30
|
-
* Rack
|
31
|
-
|
32
|
-
h2. Suggested libraries
|
33
|
-
|
34
|
-
* jpmobile
|
35
|
-
|
36
|
-
h2. Install
|
37
|
-
|
38
|
-
<pre>
|
39
|
-
% sudo gem install racknga
|
40
|
-
</pre>
|
41
|
-
|
42
|
-
h2. Documents
|
43
|
-
|
44
|
-
http://ranguba.org/racknga/en/
|
45
|
-
|
46
|
-
h2. Mailing list
|
47
|
-
|
48
|
-
* English: "groonga-talk":http://lists.sourceforge.net/mailman/listinfo/groonga-talk
|
49
|
-
* Japanese: "groonga-dev":http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
|
50
|
-
|
51
|
-
h2. Thanks
|
52
|
-
|
53
|
-
* ...
|