Guest User

Untitled

a guest
Nov 20th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. curl
  2. -F "payload=</tmp/upload_file_payload.json"
  3. -F "file=@/tmp/file.pdf"
  4. -v https://host/api
  5.  
  6. val httpEntity = HttpEntity(MediaTypes.`application/octet-stream`, file, 100000)
  7. // val httpEntity = HttpEntity.fromPath(ContentType.apply(MediaTypes.`application/octet-stream`), Paths.get(file.getAbsolutePath))
  8. val fileFormData = Multipart.FormData.BodyPart.Strict("file", httpEntity, Map.empty)
  9. val jsonFormData = Multipart.FormData.BodyPart.Strict("payload", payload, Map.empty)
  10.  
  11.  
  12. // Multipart.FormData.Strict(scala.collection.immutable.Seq(jsonFormData, fileFormData)).toEntity()
  13. val entity = Multipart.FormData( Source(List(jsonFormData, fileFormData))).toEntity()
  14. val httpRequest = HttpRequest(HttpMethods.POST, uri = uri, entity = entity)
  15.  
  16. val httpEntity = HttpEntity(MediaTypes.`application/octet-stream`, file, 100000).toStrict(10.seconds)(mat) // I had to convert this into strict: which adds Content-Length and tells it is not streaming
  17. val fileFormData = Multipart.FormData.BodyPart.Strict("file", Await.result(httpEntity, 10.seconds), Map.empty) // used Await here to get httpEntity from Future, this might be made better
  18. val jsonFormData = Multipart.FormData.BodyPart.Strict("payload", payload, Map.empty)
  19.  
  20. val entity = Multipart.FormData(jsonFormData, fileFormData).toEntity() // Corrected this signature
  21. val httpRequest = HttpRequest(HttpMethods.POST, uri = uri, entity = entity)
Add Comment
Please, Sign In to add comment