proxy_stack 0.0.0 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/proxy_stack/config/config.rb +0 -1
- data/lib/proxy_stack/proxy_stack.rb +29 -3
- metadata +1 -4
- data/lib/proxy_stack/config/environments/development.rb +0 -18
- data/lib/proxy_stack/config/environments/production.rb +0 -19
- data/lib/proxy_stack/config/environments/staging.rb +0 -20
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.1.0
|
@@ -43,7 +43,7 @@ class ProxyStack
|
|
43
43
|
def extract_http_headers
|
44
44
|
out = {}
|
45
45
|
request.env.keys.each do |key|
|
46
|
-
if key
|
46
|
+
if key !~ /^(pancake|rack|content-length|transfer-encoding)/i
|
47
47
|
out[key] = request.env[key]
|
48
48
|
end
|
49
49
|
end
|
@@ -53,9 +53,35 @@ class ProxyStack
|
|
53
53
|
|
54
54
|
Pancake::MimeTypes.type_by_extension(:json).type_strings << "application/x-javascript"
|
55
55
|
|
56
|
+
def self.before_proxy(&block)
|
57
|
+
self::Controller.before_proxy << block
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.after_proxy(&block)
|
61
|
+
self::Controller.after_proxy << block
|
62
|
+
end
|
63
|
+
|
64
|
+
class self::Controller
|
65
|
+
class_inheritable_reader :before_proxy, :after_proxy
|
66
|
+
@before_proxy = []
|
67
|
+
@after_proxy = []
|
68
|
+
|
69
|
+
private
|
70
|
+
def execute_blocks!(blks)
|
71
|
+
blks.each{|b| instance_eval(&b)}
|
72
|
+
end
|
73
|
+
|
74
|
+
def proxy_result
|
75
|
+
@proxy_result
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
56
79
|
publish :provides => [:any]
|
57
|
-
any "
|
58
|
-
|
80
|
+
any "{.*}" do
|
81
|
+
execute_blocks!(self.class.before_proxy)
|
82
|
+
@proxy_result = proxy_request!
|
83
|
+
execute_blocks!(self.class.after_proxy)
|
84
|
+
@proxy_result
|
59
85
|
end
|
60
86
|
end
|
61
87
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proxy_stack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Neighman
|
@@ -40,9 +40,6 @@ files:
|
|
40
40
|
- lib/proxy_stack.rb
|
41
41
|
- lib/proxy_stack/config.ru
|
42
42
|
- lib/proxy_stack/config/config.rb
|
43
|
-
- lib/proxy_stack/config/environments/development.rb
|
44
|
-
- lib/proxy_stack/config/environments/production.rb
|
45
|
-
- lib/proxy_stack/config/environments/staging.rb
|
46
43
|
- lib/proxy_stack/proxy_stack.rb
|
47
44
|
- lib/proxy_stack/tasks/proxy_stack.rake
|
48
45
|
- spec/proxy_stack_spec.rb
|
@@ -1,18 +0,0 @@
|
|
1
|
-
Pancake.logger.info "Loading Development Environment"
|
2
|
-
|
3
|
-
# Set the middleware lables to load
|
4
|
-
Pancake.stack_labels = [:development]
|
5
|
-
|
6
|
-
# Pancake.handle_errors!(true) # uncomment to have the stack handle any errors that occur
|
7
|
-
|
8
|
-
class ProxyStack
|
9
|
-
# include middleware for the development stack
|
10
|
-
# stack(:middleware_name).use(MiddlewareClass)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Add code to hooks. Default available hooks:
|
14
|
-
# :before_build_stack, :before_mount_applications, :after_initialize_application, :after_build_stack
|
15
|
-
|
16
|
-
# ProxyStack.before_build_stack do
|
17
|
-
# # stuff to do
|
18
|
-
# end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
Pancake.logger.info "Loading Production Environment"
|
2
|
-
|
3
|
-
# Set the middleware lables to load
|
4
|
-
Pancake.stack_labels = [:production]
|
5
|
-
|
6
|
-
Pancake.handle_errors!(true) # uncomment to have the stack handle any errors that occur
|
7
|
-
|
8
|
-
class ProxyStack
|
9
|
-
# include middleware for the development stack
|
10
|
-
# stack(:middleware_name).use(MiddlewareClass)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Add code to hooks. Default available hooks:
|
14
|
-
# :before_build_stack, :before_mount_applications, :after_initialize_application, :after_build_stack
|
15
|
-
|
16
|
-
# ProxyStack.before_build_stack do
|
17
|
-
# # stuff to do
|
18
|
-
# end
|
19
|
-
|
@@ -1,20 +0,0 @@
|
|
1
|
-
Pancake.logger.info "Loading Staging Environment"
|
2
|
-
|
3
|
-
# Set the middleware lables to load
|
4
|
-
Pancake.stack_labels = [:staging]
|
5
|
-
|
6
|
-
Pancake.handle_errors!(true) # uncomment to have the stack handle any errors that occur
|
7
|
-
|
8
|
-
class ProxyStack
|
9
|
-
# include middleware for the development stack
|
10
|
-
# stack(:middleware_name).use(MiddlewareClass)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Add code to hooks. Default available hooks:
|
14
|
-
# :before_build_stack, :before_mount_applications, :after_initialize_application, :after_build_stack
|
15
|
-
|
16
|
-
# ProxyStack.before_build_stack do
|
17
|
-
# # stuff to do
|
18
|
-
# end
|
19
|
-
|
20
|
-
|