Как я могу получить доступ к поддомену через ngrok?

У меня есть сайт rails с поддоменом "api". Маршруты на моей локальной машине выглядят так:

http://mysite.dev         #<-- normal web stuff
http://api.mysite.dev     #<-- my api

Как я могу сопоставить эти два поддомена? Это мой файл конфигурации ngrok, но конечная точка API, похоже, указывает на базовый домен.

tunnels:
web:
    subdomain: "my-project"
    proto:
        http: mysite.dev:5000
api:
    subdomain: "api.my-project"
    proto:
        http: api.mysite.dev:5000  

person rob    schedule 20.02.2015    source источник
comment
Я не думаю, что это было бы возможно без некоторых обновлений вашего кода. Поскольку результирующий URL-адрес ngrok будет api.my-project.ngrok.com Было бы полезно, если бы вы могли поделиться своим файлом маршрутов или поделиться тем, как вы маршрутизируете запросы на основе поддомена?   -  person Jasdeep Singh    schedule 20.02.2015


Ответы (1)


Если вы используете ограничения в своих маршрутах, я бы предложил такой класс ограничений:

class APIConstraint

  def matches?(request)
     # I would extract the hard coded domains out into some config
     # file, but you get the idea..
     request.host == "ngrok.com" ? request.subdomain.include?("api") : request.subdomain == "api"
  end

end

А потом в вашем routes.rb

namespace :api do
  constraints APIConstraint.new do
    resources :some_resource
  end
end
person Jasdeep Singh    schedule 20.02.2015