25 lines
799 B
Ruby
25 lines
799 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Constraints
|
||
|
# Detecta si el dominio comienzo con api. para servir la API.
|
||
|
#
|
||
|
# Hacemos esto porque Rails históricamente tiene un largo fijo de TLD
|
||
|
# y como alojamos dominios que pueden tener distintas terminaciones,
|
||
|
# no siempre detecta el subdominio como corresponde.
|
||
|
#
|
||
|
# Antes de llegar a este punto tenemos que tener un certificado
|
||
|
# correspondiente en el servidor web, que se expide dentro del
|
||
|
# servidor, por lo que sería la primera línea para detener
|
||
|
# api.cualquiercosa.que.no.existe.org si hiciera falta.
|
||
|
class ApiSubdomain
|
||
|
API_SUBDOMAIN = 'api.'
|
||
|
|
||
|
def initialize; end
|
||
|
|
||
|
# Sólo verificamos que el subdominio empiece con api.
|
||
|
def matches?(request)
|
||
|
request.hostname.start_with? API_SUBDOMAIN
|
||
|
end
|
||
|
end
|
||
|
end
|