3

我正在 Play 中创建一个 scala 函数!验证对我的 Web 服务的请求的应用程序。身份验证基本上是 HMAC 身份验证。该方法接收要使用的 bodyParser 的类型。由于我不知道 -bodyParser 的类型,如何将 request.body 转换为可以运行 MD5 处理的通用 Array[Byte]?

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可以提供请求正文的纯原始字节数组表示的 a。

您正在寻找的代码行是

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