Module: Strelka::App::Filters

Extended by:
Plugin
Defined in:
lib/strelka/app/filters.rb

Overview

Request/response filters plugin for Strelka::App.

Defined Under Namespace

Modules: ClassMethods

Instance Attribute Summary

Attributes included from Plugin

#pluggable, #successors

Instance Method Summary collapse

Methods included from Plugin

extended, plugin_name, run_inside, run_outside

Instance Method Details

#apply_request_filters(request) ⇒ Object

Apply :request and :both filters to request.



79
80
81
82
83
84
85
# File 'lib/strelka/app/filters.rb', line 79

def apply_request_filters( request )
	self.log.debug "Applying request filters:"
	self.class.request_filters.each do |filter|
		self.log.debug "  filter: %p" % [ filter ]
		filter.call( request )
	end
end

#apply_response_filters(response) ⇒ Object

Apply :both and :response filters to response.



89
90
91
92
93
94
95
# File 'lib/strelka/app/filters.rb', line 89

def apply_response_filters( response )
	self.log.debug "Applying response filters:"
	self.class.response_filters.each do |filter|
		self.log.debug "  filter: %p" % [ filter ]
		filter.call( response )
	end
end

#handle_request(request) ⇒ Object

Apply filters to the given request before yielding back to the App, then apply filters to the response that comes back.



67
68
69
70
71
72
73
74
75
# File 'lib/strelka/app/filters.rb', line 67

def handle_request( request )
	self.log.debug "[:filters] Wrapping request with request/response filters."

	self.apply_request_filters( request )
	response = super
	self.apply_response_filters( request.response )

	return response
end