Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 09:19
    danicheg synchronize #6830
  • Dec 01 20:38
    danicheg commented #776
  • Dec 01 20:30
    mergify[bot] labeled #776
  • Dec 01 20:29
    danicheg synchronize #776
  • Dec 01 20:29

    danicheg on flaky-ssl-suite

    Override munitFlakyOK in BlazeT… Fix marking the test as flaky (compare)

  • Dec 01 11:27
    danicheg review_requested #6830
  • Dec 01 01:22
    rossabaker commented #776
  • Nov 30 19:52
    rossabaker commented #775
  • Nov 30 19:52
    mergify[bot] labeled #776
  • Nov 30 19:52
    mergify[bot] labeled #776
  • Nov 30 19:51
    rossabaker opened #776
  • Nov 30 19:51

    rossabaker on flaky-ssl-suite

    Mark "split large buffers" test… (compare)

  • Nov 30 19:34
    rossabaker commented #771
  • Nov 30 19:23
    danicheg synchronize #6839
  • Nov 30 19:22
    mergify[bot] labeled #6839
  • Nov 30 19:22
    danicheg labeled #6839
  • Nov 30 19:22
    danicheg opened #6839
  • Nov 30 18:15
    gcnyin starred http4s/http4s
  • Nov 30 15:49
    danicheg commented #771
  • Nov 30 14:51
    rossabaker commented #771
Seth Lasky
@TheMover

For sending many requests with the blaze client is it better to do something like

BlazeClientBuilder[IO](global).resource.use{ client =>    
    val a = client.expect(...)
    val b = client.expect(...)
    val c = client.expect(...)
    ...
  }

or

val client = BlazeClientBuilder[IO](global).resource
val a = client.use(_.expect(...))
val b = client.use(_.expect(...))
val c = client.use(_.expect(...))
  ...
Michael Pilquist
@mpilquist
@TheMover Former, as the latter will create connection pools multiple times and then free them multiple times
Seth Lasky
@TheMover
That's what I thought, just wanted to make sure - thank you!
Rob Norris
@tpolecat
I am trying to add some request headers. Does POST(json, uri).map(_.withHeaders(myHeaders)) look right?
Christopher Davenport
@ChristopherDavenport
That should do it.
Rob Norris
@tpolecat
I'm getting a 400 back from the remote server after doing that and I can't figure out why.
Ok
Christopher Davenport
@ChristopherDavenport
You may want to include the original headers.
Rob Norris
@tpolecat
How do I do that?
Christopher Davenport
@ChristopherDavenport
POST(json, uri).map(req => req.withHeaders(req.headers |+| myHeaders)) if you are on the newer stuff
_.putHeaders does what you want though, assoming you are ok with the eta expansion.
Rob Norris
@tpolecat
That fixed it, thanks.
Rob Norris
@tpolecat
Man, this ConcurrentEffect thing is really bringing me down.
Michael Pilquist
@mpilquist
lol
Rob Norris
@tpolecat
Do you think we could replace this with imperative code that just uses reactive streams instead of hopping into fs2?
Well I guess the response needs a stream doesn't it.
bah
I'll see if the ember client works.
Forked!
Rob Norris
@tpolecat
Aaaaaaaaand it works!
Gavin Bisesi
@Daenyth
:parrots:
Billzabob
@Billzabob
I’m really sad that emote doesn’t work in Gitter :(
Gavin Bisesi
@Daenyth
indeed
Christopher Davenport
@ChristopherDavenport
Woot! Ember to the rescue
Rob Norris
@tpolecat
Do you have a sense for how close it is to being ready for prime time?
Works fine in my dinky experiment.
Christopher Davenport
@ChristopherDavenport
The client is pretty ok, there seems to be some issues with chunked encoding I haven’t pinned down. The server connection reuse is the part I have horribly wrong presently.
For most use cases the client as written is probably good to go.
I put a lot of work into that pool, so it should be mostly useful. :laughing:
Rob Norris
@tpolecat
Neato.
In the meantime blaze and async-http can hang their heads in shame.
We need to rename it CursedMinusTwoConcurrentEffectOfSuffering
Christopher Davenport
@ChristopherDavenport
Catchy name for a client.
Rob Norris
@tpolecat
I should quit while I'm ahead and turn the computer off.
Christopher Davenport
@ChristopherDavenport
That’s the spirit!
I’ll try to cut a release tonight, I want to remove server connection reuse temporarily as I don’t like having broken code in the mainline.
Rob Norris
@tpolecat
I didn't look at the server part. It's possible that can be weakened too.
Christopher Davenport
@ChristopherDavenport
Already took care of it. :smile:
If ember doesn’t suit your needs let me know and I’ll do my best, either here or in ChristopherDavenport/libraries
Rob Norris
@tpolecat
:+1:
Christopher Davenport
@ChristopherDavenport
Bits are migrating now, so you can rely on a real artifact.
Rob Norris
@tpolecat
No worries, it's just a throwaway thing right now.
Just trying to get distributed tracing to actually distribute. It works, so I'm good.
Christopher Davenport
@ChristopherDavenport
I'm excited, it's the only client that doesn't require effect, which means pure throughout.
Rob Norris
@tpolecat
Right. Skunk too, for the same reason.
Carlos Quiroz
@cquiroz
Could you explain that a bit for newbies
Do you mean the Effect type class?
Rob Norris
@tpolecat
yes, the blaze and async-http clients have an Effect constraint
so this means your F[A] can't be Kleisli[G, E, A] because you need an E before you have any hope of getting an A out, so you can't write Kleisli[G, E, A] => A which is basically what Effect is.