broadinstitute / wdl4s

Scala bindings for WDL
3 stars 5 forks source link

HttpImport Resolver (Phase 1 - sync) #252

Closed kcibul closed 7 years ago

kcibul commented 7 years ago

With the fast moving pace of wdl4s & cromwell, I wanted to split this work into two phases:

P1 will let users (Geraldine) make sure this works for her use case and get some road time without waiting for the P2 (which just makes it more scalable)

I used the sttp library for http access because it will let us move between Try/Future/IO pretty easily depending on whatever the prevailing wisdom is during P2.

I chose to use a mock http server for testing because it let me assert the correct functionality in a lightweight way with specific failure modes instead of writing many centaur tests to cover all those same cases. GET on HTTP is stable, so it's different than mocking out a complex http API with behavior