このスニペットを考えると:
(defroutes main-routes
(POST "/input/:controller" request
(let [buff (ByteArrayOutputStream.)]
(copy (request :body) buff)
;; --- snip
リクエストにContent-Typeヘッダーがある場合、buffの値は空ではないバイト配列になります。値は無意味である可能性があり、ヘッダーはそこにある必要があります。
ただし、クライアントが問題のあるアップロードを追跡できるように、リクエストがコンテンツタイプなしで送信された場合は、本文をダンプする必要があります(うーん...間違って出てきました)。(アップロードソフトウェアは私の管理下にはなく、そのメンテナはヘッダーに余分なものを提供しません。)
これを解決または回避する方法についてのアイデアをありがとう!
編集:
クライアントから取得したヘッダーは次のとおりです。
{
"content-length" "159",
"accept" "*/*",
"host" (snip),
"user-agent" (snip)
}
さらに、Ringは、JavaのServletRequestのインスタンスを使用して、コンテンツタイプに標準のデフォルトであるx-www-form-urlencodedを入力することを発見しました。HTTPParser#Inputを介して本体を提供するHTTPParserは、正しく解析できないと推測しています。