Update the GitHub support to use the modern HTTP functionality.
Review Request #11200 — Created Sept. 24, 2020 and submitted — Latest diff uploaded
The GitHub backend has been wrapping the legacy JSON HTTP functions for
years now. Review Board 4.0 introduced new HTTP functionality that
standardizes error handling, post-request handling, header access, and
more, which was largely based off the needs from the GitHub support.
Until now, though, GitHub has retained its own implementation.
This change redoes the GitHub code to use the modern HTTP support. For
compatibility, some legacy functions (
api_delete()) remain as deprecated wrappers, but all internal code is
now updated to use the standard HTTP functions. This will make the code
more maintainable going forward.
Unit tests pass on Python 2.7, 3.6, 3.7, and 3.8.