3

Play でスカラ関数を作成しています! 私のWebサービスへのリクエストを認証するアプリケーション。認証は基本的にHMAC認証です。このメソッドは、使用する bodyParser のタイプを受け取ります。-bodyParser のタイプがわからないので、MD5 処理を実行できる汎用の Array[Byte] に request.body を変換するにはどうすればよいですか?

def Authenticated[T](authType : AuthenticationType, bodyParser : BodyParser[T])(f : (Request[T]) => Result) = {

    Action(bodyParser) { request => 

      // Authentication logic starts here

      // TODO: Something like: var bodyData : Array[Byte] = request.body.toByteArray()

      // The rest is easy...
      var contentMD5 = calculateMD5(bodyDat)
      f(request)
    }
}
4

1 に答える 1

0

Play が受け取ったすべてのリクエスト ボディは、リクエスト ボディHttp.RawBufferの純粋な raw バイト配列表現を提供できる に解析できます。

探しているコード行は

var bodyData : Array[Byte] = request.body.asRaw.asBytes()
于 2012-07-25T11:23:46.177 に答える