Entropic

Looking for Help: Rust port of http-cache-semantics

As part of our current push on the dstopic side of things, @yoshuawuyts and I are working on a caching http client that can cache its downloaded data down to cacache.

But there’s a piece missing! make-fetch-happen was fortunate enough to be able to use an excellent package called http-cache-semantics which is a fairly complete implementation of http caching logic.

Your mission, should you choose to accept it, is to port http-cache-semantics over to Rust!

Now, I’ve already spoken with @kornelski about it, and they are sadly unable to pick up another project right now, but they were willing to share that they had already started working on a port, so this would be a great place to start, I think, for anyone willing to pick this up?

Are you interested in doing this? Can you do it in the fairly near future (since this is currently a blocker)? Reply below and let me know! We’d love your help! I’m totally willing to collaborate on this, as well. This is a fantastic way to learn Rust, if you’re coming from the JS ecosystem, too.

@zkat I’d be happy to work on this. How quick would you need it by specifically?

1 Like

I mean it’ll take however long it takes to complete. I’m just hoping the work gets started in the next few days?

Okay, sounds good. I’ll try to get started on it soon and will post updates here. I’m still learning Rust so is there a good place I could reach you if I have questions? Or is here best? https://github.com/non-binary/http-cache-semantics

1 Like

This thread is probably the best but you can also ping me on the Discord chat if you want more back and forth. I’m more than happy to try to help! I’m also learning Rust though so I might need to ask for help myself :sweat_smile:

1 Like

(I’d be super interested in helping out however I can with this as well, even just cheering folks on from the sidelines in Discord.)

3 Likes

@zkat @chrisdickinson When you have the chance, can you take a look at this please? https://github.com/non-binary/http-cache-semantics/pull/3#issuecomment-510963964 I’m having a hard time figuring out the best way to rewrite this in Rust. Thanks!