summaryrefslogtreecommitdiffstats
path: root/src/web_service/web_backend.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-02-21externals: Update cpp-httplib to latestAlexandre Bouvier1-1/+1
2022-10-05Show error from cpp-httplib when we don't have a response to read (report errors while connecting to API) (#8999)Kyle Kienapfel1-1/+2
Co-authored-by: Kyle Kienapfel <Docteh@users.noreply.github.com>
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda1-3/+2
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-06-14web_service: Eliminate variable shadowingMorph1-10/+10
2022-04-07web_service: Replace lock_guard with scoped_lockMerry1-2/+2
2022-03-20web_service: Reduce unused includesameerj1-1/+0
2021-07-12web_service: Silence -Wmaybe-uninitialized on httplib.hReinUsesLisp1-0/+10
2021-06-18externals: httplib: replace custom httplib header with upstream as submodule.Vortex1-1/+2
This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
2020-10-29web_service: follow-up fix to #4842 ...liushuyu1-5/+0
* The web_service http request is now fixed on Windows (R) platform. * The issue is due to a complicated race-condition in `httplib`, a detailed explanation is available at https://github.com/yhirose/cpp-httplib/pull/701 * A pending Pull Request on `httplib` has been applied to remedy the said race-condition. * The socket availability check is removed due to a behavioral chice of `httplib` that a socket will not be created before any actual request is sent.
2020-10-29web_service: web_backend: Handle socket errors with GenericRequest.bunnei1-0/+11
- Fixes a shutdown crash when we try to submit telemetry if there is a service issue.
2020-10-27web_backend: fix a regression introduced in 39c8d18liushuyu1-19/+1
* A regression was in 39c8d18 and token verification function was broken. * The reason being `httplib` now requires OpenSSL 1.1+ API while LibreSSL 2.x provided OpenSSL 1.0 compatible API. * The bundled LibreSSL has been updated to 3.2.2 so it now provides OpenSSL 1.1 compatible API now. * Also the path hint has been added so that it will find the correct path to the CA certs on *nix systems. * An option is provided so that *nix system distributions/providers can use their own SSL implementations when compiling Yuzu/Citra to (hopefully) complies with their maintenance guidelines. * LURLParse is also removed since `httplib` can handle `scheme:host:port` string itself now.
2020-10-13core/CMakeLists: Make some warnings errorsLioncash1-9/+6
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-08-23web_service: Move web_result.h into web_serviceLioncash1-29/+27
This is the only place it's actively used. It's also more appropriate for web-related structures to be within the web service target. Especially given this one doesn't rely on anything in the common library.
2020-04-16CMakeLists: Specify -Wextra on linux buildsLioncash1-7/+7
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-02-19httplib compatibilityBrian Clinkenbeard1-4/+3
2019-11-09web-service: Port citra's updated web_backend code.bunnei1-18/+34
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash1-2/+2
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
2019-03-02web_service: Remove unnecessary inclusionsLioncash1-1/+0
Reduces the potential amount of rebuilding necessary if any headers change. In particular, we were including a header from the core library when we don't even link the core library to the web_service library, so this also gets rid of an indirect dependency.
2018-10-11web_backend: Make Client use the PImpl idiomLioncash1-94/+141
Like with TelemetryJson, we can make the implementation details private and avoid the need to expose httplib to external libraries that need to use the Client class.
2018-10-02Review comments -part 4fearlessTobi1-2/+2
2018-10-02web_backend: protect jwt cache with a mutexWeiyi Wang1-0/+2
2018-10-02Address a bunch of review commentsfearlessTobi1-4/+4
2018-10-02Port web_service from CitrafearlessTobi1-0/+147
2018-01-13Massive removal of unused modulesJames Rowe1-140/+0
2017-09-19WebService: Verify username and token (#2930)B3n301-12/+89
* WebService: Verify username and token; Log errors in PostJson * Fixup: added docstrings to the functions * Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits * fixup: fmt warning
2017-08-27web_backend: Fix CPR bug where Winsock is not properly initializing.bunnei1-15/+27
2017-08-26web_backend: Fix asynchronous JSON post by spawning new thread.bunnei1-9/+18
2017-08-26web_services: Refactor to remove dependency on Core.bunnei1-15/+16
2017-08-26web_backend: User config for username and token, support anonymous post.bunnei1-28/+17
2017-07-12web_backend: Specify api-version on JSON post.bunnei1-1/+3
2017-07-12web_backend: Add initial interface to POST data to Citra Web Services.bunnei1-0/+41
2017-07-10web_service: Add skeleton project.bunnei1-0/+9