aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-03-31 16:32:42 -0700
committerStewart Stewart <stewinsalot@gmail.com>2017-03-31 16:32:42 -0700
commit5831ed23235daccc773362bfb5bb5dda70f7dc1b (patch)
treec88d1e2e02a692f9e749016c2701e61f3c2d12ab
parent579385610032cf437d355a92ccf2ade189959423 (diff)
downloaddriver-core-5831ed23235daccc773362bfb5bb5dda70f7dc1b.tar.gz
driver-core-5831ed23235daccc773362bfb5bb5dda70f7dc1b.tar.bz2
driver-core-5831ed23235daccc773362bfb5bb5dda70f7dc1b.zip
WIP: fixing sanitize directive to account for chunked/strict request entities
-rw-r--r--src/main/scala/xyz/driver/core/rest.scala10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/rest.scala b/src/main/scala/xyz/driver/core/rest.scala
index aa2a75e..b3a9116 100644
--- a/src/main/scala/xyz/driver/core/rest.scala
+++ b/src/main/scala/xyz/driver/core/rest.scala
@@ -88,8 +88,16 @@ package rest {
}
val sanitizeRequestEntity: Directive0 = {
+ val transformer = Flow.fromFunction(escapeScriptTags)
+ import HttpEntity._
mapRequest(
- request => request.mapEntity(entity => entity.transformDataBytes(Flow.fromFunction(escapeScriptTags))))
+ request => request.mapEntity(_ match {
+ case e: Chunked => e.transformDataBytes(transformer)
+ case e: Strict => e.transformDataBytes(e.contentLength + ???, transformer)
+ case e: Default => e.transformDataBytes(e.contentLength + ???, transformer)
+ }
+ )
+ )
}
}