module CubaApi::Cors
Public Instance Methods
on_cors( *args ) { |*vars| ... }
click to toggle source
# only put method allowed on_cors_method
( [:post, :put], ‘my_path/new’ ) do
on ... ... end
end
# File lib/cuba_api/cors.rb, line 152 def on_cors( *args ) _on_cors( nil, *args ) do |*vars| yield( *vars ) end end
on_cors_method( methods, *args ) { |*vars| ... }
click to toggle source
# File lib/cuba_api/cors.rb, line 158 def on_cors_method( methods, *args ) methods = [ methods ] unless methods.is_a? Array _on_cors( methods, *args ) do |*vars| yield( *vars ) end end
Private Instance Methods
_cors_allowed?( cors, methods )
click to toggle source
# File lib/cuba_api/cors.rb, line 167 def _cors_allowed?( cors, methods ) ( methods != nil && methods.detect { |m| send m.to_sym } != nil ) || ( env[ 'HTTP_ORIGIN' ] && cors.origins( env[ 'HTTP_ORIGIN' ] ) != nil ) end
_on_cors( methods = nil, *args ) { |*vars| ... }
click to toggle source
# File lib/cuba_api/cors.rb, line 174 def _on_cors( methods = nil, *args ) cors = ( self.class[ :cors ] ||= CORS.new( self.class ) ) if req.options? && cors.allowed?( methods ) # send the response on option headers on *args do cors.process( env, res, methods ) end elsif _cors_allowed?( cors, methods ) != false # could be true or nil on *args do |*vars| cors.allow_origin( env, res ) yield( *vars ) end end end