rack-envinspector 0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,2 @@
1
+ Gemfile.lock
2
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
@@ -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.
@@ -0,0 +1,7 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new
5
+
6
+ task :default => :spec
7
+ task :test => :spec
@@ -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
@@ -0,0 +1,5 @@
1
+ require 'bundler/setup'
2
+ Bundler.setup
3
+
4
+ require 'rack/mock'
5
+ require 'rack/env_inspector'
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