Spray.ioは低レベルでコンテンツタイプを定義しているので、着信リクエストのコンテンツタイプを単純に参照するにはどうすればよいですか?Spray.io Content-Typeをリクエストから抽出しますか?
ここでは、画像がPUTである簡単な例を示します。
put {
entity(as[Array[Byte]]) { data =>
complete{
val guid = Image.getGuid(id)
val fileExtension = // match a file extension to content-type here
val key = "%s-%s.%s" format (id, guid, fileExtension)
val o = new Image(key, contentType, data)
Image.store(o)
val m = Map("path" -> "/client/%s/img/%s.%s" format (id, guid, fileExtension))
HttpResponse(OK, generate(m))
}
}
}
上記のコードを考えれば、コンテンツタイプを簡単に抽出できます。私はそれを使用して、適切なfileExtension
にパターンマッチさせることができます。ご協力いただきありがとうございます。
ありがとうございます!これは確かにヘッダーを抽出する "組み込みの"方法のようです。私は@ jrudolphのソリューションがSprayの他の抽出と同様に機能するので、より使いやすいと認めます。 – crockpotveggies