diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2017-03-31 16:32:42 -0700 |
---|---|---|
committer | Stewart Stewart <stewinsalot@gmail.com> | 2017-03-31 16:32:42 -0700 |
commit | 5831ed23235daccc773362bfb5bb5dda70f7dc1b (patch) | |
tree | c88d1e2e02a692f9e749016c2701e61f3c2d12ab /src | |
parent | 579385610032cf437d355a92ccf2ade189959423 (diff) | |
download | driver-core-5831ed23235daccc773362bfb5bb5dda70f7dc1b.tar.gz driver-core-5831ed23235daccc773362bfb5bb5dda70f7dc1b.tar.bz2 driver-core-5831ed23235daccc773362bfb5bb5dda70f7dc1b.zip |
WIP: fixing sanitize directive to account for chunked/strict request entities
Diffstat (limited to 'src')
-rw-r--r-- | src/main/scala/xyz/driver/core/rest.scala | 10 |
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) + } + ) + ) } } |