Estoy migrando servidores, pero desafortunadamente el IP del servidor anterior está codificado dentro de mi aplicación de iPhone. Obviamente, voy a enviar una actualización que establece el punto final de la API a mi nuevo servidor, pero mientras tanto, tengo que configurar una aplicación en el viejo servidor que redirige todas las solicitudes al nuevo servidor. Escuché que Sinatra sería perfecto para esto.Aplicación Sinatra que redirige las solicitudes POST/GET con los parámetros
require 'sinatra'
get "/foo/bar" do
redirect "http://new-server.com/foo/bar", 303
end
post "/foo/bar" do
redirect "http://new-server.com/foo/bar", 303
end
El problema es que estos no envían los parámetros GET o POST junto con la solicitud. Leí en el documento de Sinatra que puede hacer eso poniéndolos en la URL directamente (funciona para las solicitudes GET) o estableciendo variables de sesión.
¿Está analizando y formateando manualmente los parámetros GET para colocarlos de nuevo en la URL de redirección, la única manera de obtener los redireccionamientos GET? ¿Cómo se supone que debes enviar los parámetros POST?
Ver [este mensaje] (http://stackoverflow.com/questions/798710/how-to-turn-a-ruby-hash-into-http-params) para facilitar el análisis y el formato. En cuanto a POST, siempre puedes convertirlos en parámetros GET, y cambiar la lógica del lado del servidor para aceptar cualquiera. No estoy seguro de si hay una mejor manera para su caso de uso. – Jonah