rack-envinspector 0.1
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 +7 -0
- data/.gitignore +2 -0
- data/.rspec +2 -0
- data/Gemfile +3 -0
- data/README.md +21 -0
- data/Rakefile +7 -0
- data/lib/rack/env_inspector.rb +21 -0
- data/rack-envinspector.gemspec +16 -0
- data/spec/envinspector_spec.rb +25 -0
- data/spec/spec_helper.rb +5 -0
- metadata +96 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2df832dd7ec5dde477160441f10e3bdd0d8774d4
|
4
|
+
data.tar.gz: dd38f57627ca32c3f5d84d984625b449b2ae98da
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5cdc3b14e4ba434e1d02eb9409e154427da6cbf8f247974902d81eb63b73fe28bf7a170be139fde9848cad99b9137f721a2fe0de88f2427b7d3b78bf66f61553
|
7
|
+
data.tar.gz: eb77a198cc47a9805100b7dcf86571a0d122f3c240316aa4888007ede8fbe3403176f14428db7308e73364e7afcde1afd7ed1572ae56575a0de1077b516219a2
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Rack::EnvInspector, a Rack middleware for inspecting the Rack environment
|
2
|
+
|
3
|
+
This is a simple middleware that allows you to inspect the Rack environment by
|
4
|
+
appending a query parameter to any of your app's URLs.
|
5
|
+
|
6
|
+
## Configuration
|
7
|
+
|
8
|
+
To use Rack::EnvInspector, add the following to your Gemfile:
|
9
|
+
|
10
|
+
gem 'rack-envinspector', :github => 'dancavallaro/rack-envinspector'
|
11
|
+
|
12
|
+
Then in `config.ru`:
|
13
|
+
|
14
|
+
use Rack::EnvInspector
|
15
|
+
|
16
|
+
Or in a Rails app, add the following to `application.rb`, or to an appropriate
|
17
|
+
environment-specific config file:
|
18
|
+
|
19
|
+
config.middleware.use "Rack::EnvInspector"
|
20
|
+
|
21
|
+
Then, see a JSON dump of the Rack environment by appending `?inspect` to any URL.
|
data/Rakefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module Rack
|
4
|
+
class EnvInspector
|
5
|
+
|
6
|
+
def initialize(app, options={})
|
7
|
+
@app = app
|
8
|
+
end
|
9
|
+
|
10
|
+
def call(env)
|
11
|
+
request = Rack::Request.new(env)
|
12
|
+
|
13
|
+
if request.params.key? 'inspect'
|
14
|
+
[200, {'Content-Type' => 'application/json'}, [JSON.generate(env)]]
|
15
|
+
else
|
16
|
+
@app.call(env)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'rack-envinspector'
|
3
|
+
s.version = '0.1'
|
4
|
+
s.summary = 'Middleware for dumping Rack environment.'
|
5
|
+
s.description = 'Rack::EnvInspector is a Rack middleware for debugging that allows you to dump the Rack environment by appending a query parameter to the URL.'
|
6
|
+
s.author = 'Dan Cavallaro'
|
7
|
+
s.email = 'dan.t.cavallaro@gmail.com'
|
8
|
+
s.homepage = 'https://github.com/dancavallaro/rack-envinspector'
|
9
|
+
|
10
|
+
s.files = `git ls-files`.split("\n")
|
11
|
+
s.test_files = `git ls-files -- spec/*`.split("\n")
|
12
|
+
|
13
|
+
s.add_development_dependency 'rspec'
|
14
|
+
s.add_development_dependency 'rack'
|
15
|
+
s.add_development_dependency 'rake'
|
16
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
describe Rack::EnvInspector do
|
4
|
+
|
5
|
+
RESPONSE_BODY = 'Hello, world'
|
6
|
+
|
7
|
+
let(:app) { lambda { |env| [200, {}, [RESPONSE_BODY]] } }
|
8
|
+
let(:stack) { Rack::EnvInspector.new app }
|
9
|
+
let(:request) { Rack::MockRequest.new stack }
|
10
|
+
|
11
|
+
it "should return normal response without query param" do
|
12
|
+
response = request.get '/'
|
13
|
+
|
14
|
+
expect(response.body).to eq(RESPONSE_BODY)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should return environment dump with query param" do
|
18
|
+
response = request.get '/?inspect'
|
19
|
+
env = JSON.parse(response.body)
|
20
|
+
|
21
|
+
expect(env["PATH_INFO"]).to eq("/")
|
22
|
+
expect(env["QUERY_STRING"]).to eq("inspect")
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rack-envinspector
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dan Cavallaro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Rack::EnvInspector is a Rack middleware for debugging that allows you
|
56
|
+
to dump the Rack environment by appending a query parameter to the URL.
|
57
|
+
email: dan.t.cavallaro@gmail.com
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- ".rspec"
|
64
|
+
- Gemfile
|
65
|
+
- README.md
|
66
|
+
- Rakefile
|
67
|
+
- lib/rack/env_inspector.rb
|
68
|
+
- rack-envinspector.gemspec
|
69
|
+
- spec/envinspector_spec.rb
|
70
|
+
- spec/spec_helper.rb
|
71
|
+
homepage: https://github.com/dancavallaro/rack-envinspector
|
72
|
+
licenses: []
|
73
|
+
metadata: {}
|
74
|
+
post_install_message:
|
75
|
+
rdoc_options: []
|
76
|
+
require_paths:
|
77
|
+
- lib
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
requirements: []
|
89
|
+
rubyforge_project:
|
90
|
+
rubygems_version: 2.4.4
|
91
|
+
signing_key:
|
92
|
+
specification_version: 4
|
93
|
+
summary: Middleware for dumping Rack environment.
|
94
|
+
test_files:
|
95
|
+
- spec/envinspector_spec.rb
|
96
|
+
- spec/spec_helper.rb
|