rack_http_script_name 0.0.2
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.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/lib/rack_http_script_name.rb +20 -0
- data/lib/rack_http_script_name/version.rb +3 -0
- data/rack_http_script_name.gemspec +23 -0
- metadata +64 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require "rack_http_script_name/version"
|
2
|
+
|
3
|
+
class RackHttpScriptName
|
4
|
+
def initialize(app)
|
5
|
+
@app = app
|
6
|
+
end
|
7
|
+
SCRIPT_NAME = 'SCRIPT_NAME'.freeze
|
8
|
+
HTTP_SCRIPT_NAME = 'HTTP_SCRIPT_NAME'.freeze
|
9
|
+
|
10
|
+
def call(env)
|
11
|
+
script_name = env['SCRIPT_NAME']
|
12
|
+
http_script_name = env['HTTP_SCRIPT_NAME']
|
13
|
+
if script_name.empty? && http_script_name && !http_script_name.empty?
|
14
|
+
path_info = env['PATH_INFO']
|
15
|
+
env["SCRIPT_NAME"] = http_script_name
|
16
|
+
env["PATH_INFO"] = env["PATH_INFO"][http_script_name.length..-1]
|
17
|
+
end
|
18
|
+
@app.call(env)
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "rack_http_script_name/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "rack_http_script_name"
|
7
|
+
s.version = RackHttpScriptName::VERSION
|
8
|
+
s.authors = ["Sokolov Yura 'funny-falcon'"]
|
9
|
+
s.email = ["funny.falcon@gmail.com"]
|
10
|
+
s.homepage = "https://github.com/funny-falcon/rack_http_script_name"
|
11
|
+
s.summary = %q{Rack middleware to automatically strip HTTP_SCRIPT_NAME}
|
12
|
+
s.description = %q{In case of nginx proxy, I wish to set SCRIPT_NAME to some value, but it sets HTTP_SCRIPT_NAME. So that, I'd like to adjust SCRIPT_NAME and PATH_INFO accordantly}
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
|
19
|
+
s.add_runtime_dependency "rack"
|
20
|
+
# specify any dependencies here; for example:
|
21
|
+
# s.add_development_dependency "rspec"
|
22
|
+
# s.add_runtime_dependency "rest-client"
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rack_http_script_name
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Sokolov Yura 'funny-falcon'
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-03-07 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rack
|
16
|
+
requirement: &78174200 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *78174200
|
25
|
+
description: In case of nginx proxy, I wish to set SCRIPT_NAME to some value, but
|
26
|
+
it sets HTTP_SCRIPT_NAME. So that, I'd like to adjust SCRIPT_NAME and PATH_INFO
|
27
|
+
accordantly
|
28
|
+
email:
|
29
|
+
- funny.falcon@gmail.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- .gitignore
|
35
|
+
- Gemfile
|
36
|
+
- Rakefile
|
37
|
+
- lib/rack_http_script_name.rb
|
38
|
+
- lib/rack_http_script_name/version.rb
|
39
|
+
- rack_http_script_name.gemspec
|
40
|
+
homepage: https://github.com/funny-falcon/rack_http_script_name
|
41
|
+
licenses: []
|
42
|
+
post_install_message:
|
43
|
+
rdoc_options: []
|
44
|
+
require_paths:
|
45
|
+
- lib
|
46
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
48
|
+
requirements:
|
49
|
+
- - ! '>='
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ! '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
requirements: []
|
59
|
+
rubyforge_project:
|
60
|
+
rubygems_version: 1.8.17
|
61
|
+
signing_key:
|
62
|
+
specification_version: 3
|
63
|
+
summary: Rack middleware to automatically strip HTTP_SCRIPT_NAME
|
64
|
+
test_files: []
|