diff --git a/app/controllers/api/v1/base_controller.rb b/app/controllers/api/v1/base_controller.rb index 2d58187..649c607 100644 --- a/app/controllers/api/v1/base_controller.rb +++ b/app/controllers/api/v1/base_controller.rb @@ -23,8 +23,30 @@ module Api end end + # Referer + # + # @see {https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer} + # @return [String,Nil] + def referer + request.referer + end + alias referrer referer + + # Origin + # + # @see {https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin} + # @return [String,Nil] def origin - request.headers['Origin'] + request.origin + end + + # Genera un header Origin a partir del Referer si existe. + # + # @return [String,Nil] + def origin_from_referer + return if referer.blank? + + referer.split('/', 4).tap { |u| u.pop if u.size > 3 }.join('/') end # Los navegadores antiguos no envĂ­an Origin