서버를 이전 중이지만 유감스럽게도 기존 서버 IP는 iPhone 앱에 하드 코드됩니다. 분명히 API 엔드 포인트를 새 서버로 설정하는 업데이트를 제출 하겠지만, 그 동안 모든 요청을 새 서버로 리디렉션하는 이전 서버에 앱을 설정해야합니다. 나는 Sinatra가 이것을 완벽하게한다고 들었습니다.POST/GET 요청을 매개 변수로 리디렉션하는 Sinatra 앱
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
문제는 요청과 함께 GET 또는 POST 매개 변수를 전달하지 않는다는 것입니다. Sinatra doc에서 URL에 직접 입력 (GET 요청에 대해 작동)하거나 세션 변수를 설정하여이를 수행 할 수 있음을 읽었습니다.
GET 매개 변수를 수동으로 구문 분석하고 서식을 지정하여 GET 리디렉션을위한 유일한 방법 인 리디렉션 URL에 다시 넣을 수 있습니까? POST 매개 변수를 전달하는 방법은 무엇입니까?
보기 [이 포스트 (http://stackoverflow.com/questions/798710/how-to-turn-a-ruby-hash-into-http-params) 파싱 및 포맷을 용이하게한다. POST의 경우, 항상 GET 매개 변수로 변환 할 수 있으며, 서버 측 로직을 변경하여이를 수용 할 수도 있습니다. 나는 당신의 유스 케이스를위한 더 좋은 방법이 있는지 확신하지 못한다. – Jonah