2012-09-08 2 views
0

저는 서버를 작성 중이며 특정 요청 메시지를 전달해야합니다. 이 메시지는 기본적으로 수 메가 바이트의 파일을 포함 할 수있는 POST (또는 GET) 메시지입니다. 이 메시지는 실제로 파일을 저장 (또는 검색)하는 다른 서버로 전달됩니다.하스켈의 WAI 요청을 Network.HTTP.Conduit 요청으로 변환합니다.

저는 Yesod 프레임 워크를 사용하고 있습니다. 따라서 getWaiRequest을 사용하여 WAI 요청을받을 수 있습니다. 그러나 전달할 새 메시지를 시작하려면 Network.HTTP.Conduit을 사용하여 게으름을 피하십시오. 그래서 그 모듈에 Request m을 만들어야합니다. 그러나 나는이 전환을하는 방법을 모른다. WAI의 Request은 단순히 데이터 유형이지만 Conduit은 Request m 유형이므로 계속 복사하는 중 오류 메시지가 계속 표시됩니다.

누군가 내가 어떻게하는지 말해 줄 수 있습니까? 그렇지 않다면 HTTP 도관을 사용하지 않고 WAI 요청을 다른 서버로 전달할 수 있습니다.

감사합니다.

답변

1

두 요청 유형이 호환되지 않습니다. 수동으로 변환해야합니다. WAI는 프록 싱에 정말로 적합하지 않습니다. 가장 쉬운 옵션은 프론트 HTTP 데몬이 해당 URL을 Yesod 어플리케이션으로 보내지 않고 즉시 전달하도록 구성하는 것입니다.