Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use libcurl for HTTP transfers #218

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from

Commits on Sep 24, 2020

  1. curl: Initial implementation using libcurl for HTTP download

    Advantage of libcurl over wxHTTP is that we get HTTPS support out of the box.
    Disadvantage is it being another dependency. Therefore using libcurl is optional
    now, but strongly encouraged.
    
    Since HTTP download was the last piece of network functions not replaced by
    Boost.Asio, using libcurl together with boost makes it possible to forget wxWidgets
    networking completely.
    gonosztopi committed Sep 24, 2020
    Configuration menu
    Copy the full SHA
    aeaf043 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    74d5e14 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8f38185 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8231e95 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2020

  1. curl: Show download progress

    Minimum required libcurl version is now 7.32.0, required by CURLOPT_XFERINFOFUNCTION.
    Since it's already seven years old, we're not planning to support older versions.
    gonosztopi committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    9f9ed79 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ebe232 View commit details
    Browse the repository at this point in the history
  3. curl: Print transfer summary after successful download

    This is mainly a demonstration of how we can select new functionality if available.
    First, we have to check the compile-time headers version whether they have the new
    functionality or not, to be able to compile it in. Then, we have to check the library
    version at runtime because that might very well be different from what we used for
    compilation. If both checks succeed then and only then can we use the new interface.
    In all other cases we need to revert to use the old interface.
    gonosztopi committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    a87822e View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2020

  1. curl: Add proxy support

    gonosztopi committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    26899d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. curl: Added support for cancelling an ongoing transfer

    We use the progress callback to periodically check whether the current download
    is requested to be cancelled (i.e. the user pressed the 'Cancel' button, or the
    application is exiting). That requires that we always have a progress callback
    installed, therefore the minimum required libcurl version is lowered to 7.19.1.
    gonosztopi committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    34a2941 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2020

  1. Configuration menu
    Copy the full SHA
    71e56dd View commit details
    Browse the repository at this point in the history