title: akka-http HttpEntity.toStrict timed out while still waiting for outstanding data
body: <p>I encounter a problem randomly without SSL(sometimes it works without issue), and each time with SSL, and I don't understand why. 
  It's a time out during HttpEntity.toStrict. </p>
  
  <pre><code>extractRequest{payload =&gt;
  
                val futureRequestEntity = payload.entity.toStrict(5.seconds).map(_.data.utf8String)
                val requestEntity = Await.result(futureRequestEntity, 10.seconds)
  
  ... }
  </code></pre>
  
  <p>I tried to set longer waiting times, but doesn't solve the issue. </p>
  
  <pre><code>java.util.concurrent.TimeoutException: HttpEntity.toStrict timed out after 5 seconds while still waiting for outstanding data
  at akka.http.impl.util.ToStrict$$anon$1.onTimer(package.scala:138)
  </code></pre>
  
  <p>I need to use extractRequest for my path because I extract the entity and the header further in the code. </p>
  
  <p>Route code : </p>
  
  <pre><code>            options {
            corsHandler.corsHandler(complete(StatusCodes.OK))
          } ~ post {
            path("recommandation" / Segment / Segment / "suggestion") {(docType,docId) =&gt;
              extractRequest{payload =&gt;
                writeLog("info",s"/recommandation : Post request for $docType suggestion : $docId ")
                val coBranding = payload.headers.filter(x =&gt; x.is("cobrandingcontext")).map(x =&gt; x.value()).head
                val futureRequestEntity = payload.entity.toStrict(5.seconds).map(_.data.utf8String)
                val requestEntity = Await.result(futureRequestEntity, 10.seconds)
  
                val parsedPayload = suggestionEngine.payloadParser.suggestionEnginePayloadParser(requestEntity,
                  coBranding,docType, docId)
                if (parsedPayload.isDefined){
                  val suggestionResult = suggestionEngine.suggestionWorker.suggestionPipeline(parsedPayload.get)
                  val suggestionResponse = suggestionEngine.responseHandler.responseBuilder(suggestionResult).get
                  complete(200,List(`Content-Type`(`application/json`)),suggestionResponse)
  
                } else {
                  writeLog("error","/recommandation : undefined payload")
                  complete(StatusCodes.BadRequest,List(`Content-Type`(`application/json`)),"Undefined payload")
                }
              }
            }
          }
  </code></pre>
  
  <p>Request example : </p>
  
  <pre><code>    curl -i https://mydns.com:443/recommandation/products/59ad73be20a35d3fa47c80c8/suggestion -H 
    'cobrandingcontext: branding' -H 'Content-Type: application/json;charset=UTF-8' -X POST -d '{"collection":"products",
    "query":{"category_parent":"category-ex","category_child":"category-child-ex","dimensions.width":{"$lt":70,"$gt":0},
    "dimensions":{"$lt":40,"$gt":-40},"status":true,"structured":true,"visibilities":"architects-3d-btoc"},"configuration":{"type":"nearest-neighbors","metric":"cosine","features":["styles"]}}'
  </code></pre>
  
  <p>Thank's in advance </p>