Skip to content

enhancement: Improve Request Code (etags, conditional requests, treat HTTP status codes, make it async) #39

@crocidb

Description

@crocidb

As of now, all the HTTP request code is dealt by a reqwest::blocking get command. It's not async at all, just requests the feed XML, wait for it, checks if it's an HTTP 200, then parses it. The TUI Updater (core/library/update.rs) basically creates a new thread and does that routine sequentially for all the feed sources.

Ideally, all this code should be async, request the feeds using If-Modified-Since, when there's a response, check for its HTTP status code, and deal with it, returning the correct error log, so it's easy to diagnose what's going on with that feed.

I don't know much about HTTP in general, but there's some hint of how to deal with that here.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions