2017-01-18 3 views
3

하스켈 새내기 여기!Haskell-Scotty : 사용자 정의 헤더 설정 (x- 프레임 옵션)

내 haskell 측 프로젝트에서 scotty를 사용하여 일부 동적으로 생성 된 html 페이지를 제공합니다. 문제는 "x-frame-options"헤더가 "SAMEORIGIN"으로 설정되어있어 iframe 내부에서 페이지를 열 수 없다는 것입니다.

어떻게 헤더를 다른 것으로 변경할 수 있습니까? 모든 응답에 해당 헤더를 설정하고 싶습니다. 거기에 할 수있는 미들웨어가 있습니까?

감사합니다. 그런 다음

{-# LANGUAGE OverloadedStrings #-} 

import Network.Wai -- from the wai package 
import Web.Scotty hiding (options) 

addFrameHeader :: Middleware 
addFrameHeader = 
    modifyResponse (mapResponseHeaders (("X-Frame-Options", "whatever") :)) 

당신의 스카티 응용 프로그램에서 사용 :

main = scotty 6000 $ do 
    middleware addFrameHeader 
    get "/" (text "hello") 

답변

3

당신은 (모든 Network.Wai에서 사용할 수있는 neccesary 도구) 각 응답이 헤더를 추가하여 자신의 미들웨어를 정의 할 수 있습니다 그리고 curl으로 응답에 포함 된 것을 확인할 수 있습니다 :

> curl --include localhost:6000 
HTTP/1.1 200 OK 
Transfer-Encoding: chunked 
Date: Thu, 19 Jan 2017 19:22:57 GMT 
Server: Warp/3.2.8 
X-Frame-Options: whatever 
Content-Type: text/plain; charset=utf-8 

hello 
+0

Exce 용서하다! 그것은 열쇠처럼 작동합니다. 감사 – afcastano

관련 문제