2013-02-28 66 views
1

排除特定的頭文件如何從響應(SimpleResult)從響應

的代碼示例中刪除頁眉:

def NoCache[A](action: Action[A]): Action[A] = Action(action.parser) { request => 
    action(request) match { 
     case s: SimpleResult[_] => 
      s.withHeaders(PRAGMA -> "no-cache") 
      // remove all headers with name "ETAG" HERE ?? 
     case result => result 
    } 
} 

我沒有找到文檔此功能。

謝謝。

回答

0

由於SimpleResultResponseHeader都區分類別,你可以將它們複製到修改標題:

... 
val headers = s.header.headers - ETAG + (PRAGMA -> "no-cache") 
s.copy(header = s.header.copy(headers = headers)) 
... 
+2

你好,可惜這是行不通的。 scala:無法將A的實例寫入HTTP響應。嘗試定義一個可寫[A] 在涉及默認參數的應用程序中發生錯誤。 s.copy(header = s.header.copy(headers = headers)) ^ 它可能在SimpleResult類中工作 – Anton 2013-03-01 03:39:27