Vorrei poter recuperare l'URL di base della mia app Web dal codice di inizializzazione del rack nel mio config.ru
. Qualcosa sulla falsariga di:È possibile ottenere l'URL di base del servizio Rack al di fuori di un gestore richieste?
puts "Starting up on http://#{ENV['SERVER_NAME']}:#{ENV['SERVER_PORT']}/#{ENV['MOUNT_POINT']}..."
ma non ho trovato nulla di simile che è disponibile al di fuori di un gestore di richiesta. Ovviamente, io posso fare qualcosa di simile:
...
def get
puts "Got a request for #{ENV['rack.url_scheme']}://#{ENV['HTTP_HOST']}#{ENV['REQUEST_PATH']}"
...
perché la richiesta è definita in quel punto. Ma all'inizio del mio file di configurazione, nessuna di queste variabili sembra essere definita.
Esiste un metodo Rack da utilizzare per accedere a queste informazioni? È uno di quei casi in cui queste cose non sono finalizzate fino a quando l'avvio di Rack non è finito? Mi sembra di ricordare che altri framework hanno un modo per passare un proc a un metodo che verrà eseguito una volta che l'ambiente sarà "pronto". Rack ha qualcosa del genere?
Cosa stai provando a impostare nel config.ru che ha bisogno di queste informazioni? – nictrix
Non sto provando a * impostare * qualsiasi cosa, penso solo che sia bello per il registro mostrare dove si trova il servizio - è particolarmente utile quando un nuovo sviluppatore tenta di testare per la prima volta. – Coderer