summaryrefslogtreecommitdiffstats
path: root/src/web_service (follow)
Commit message (Collapse)AuthorAgeFilesLines
* web_service: follow-up fix to #4842 ...liushuyu2020-10-291-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.
* web_service: web_backend: Handle socket errors with GenericRequest.bunnei2020-10-291-0/+11
| | | | - Fixes a shutdown crash when we try to submit telemetry if there is a service issue.
* web_backend: fix a regression introduced in 39c8d18liushuyu2020-10-272-20/+2
| | | | | | | | | | | | | | | | * 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.
* core/CMakeLists: Make some warnings errorsLioncash2020-10-131-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.
* web_service: Move web_result.h into web_serviceLioncash2020-08-236-44/+64
| | | | | | | 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.
* common/telemetry: Migrate namespace into the Common namespaceLioncash2020-08-182-15/+17
| | | | | Migrates the Telemetry namespace into the Common namespace to make the code consistent with the rest of our common code.
* Replace externals with Conan (#3735)James Rowe2020-05-083-3/+3
| | | | | | | | | | | | | | | | | | | | | * Remove git submodules that will be loaded through conan * Move custom Find modules to their own folder * Use conan for downloading missing external dependencies * CI: Change the yuzu source folder user to the user that the containers run on * Attempt to remove dirty mingw build hack * Install conan on the msvc build * Only set release build type when using not using multi config generator * Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries * Add workaround for submodules that use legacy CMAKE variables * Re-add USE_BUNDLED_QT on the msvc build bot
* Merge pull request #3673 from lioncash/extrabunnei2020-04-171-7/+7
|\ | | | | CMakeLists: Specify -Wextra on linux builds
| * CMakeLists: Specify -Wextra on linux buildsLioncash2020-04-161-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.
* | externals: Move LibreSSL linking to httplib.Markus Wick2020-04-161-6/+1
|/ | | | | | Neither core nor web_services use OpenSSL nor LibreSSL. However they need to link them as it's a requirement of httplib. So let's declare this within httplib instead of core and web_services.
* httplib compatibilityBrian Clinkenbeard2020-02-191-4/+3
|
* web_service/telemetry_json: Report USER_CONFIGReinUsesLisp2020-01-291-0/+1
|
* web-service: Port citra's updated web_backend code.bunnei2019-11-092-18/+57
|
* general: Use deducation guides for std::lock_guard and std::unique_lockLioncash2019-04-011-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.
* web_service: Remove unnecessary inclusionsLioncash2019-03-022-3/+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.
* compatdb: Use a seperate endpoint for testcase submissionfearlessTobi2018-10-282-5/+17
|
* Merge pull request #1542 from lioncash/projectbunnei2018-10-241-1/+1
|\ | | | | CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
| * CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIRLioncash2018-10-201-1/+1
| | | | | | | | | | | | | | | | | | This is more localized to what we want to enforce directory-wise with the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but this would cause the wrong behavior if someone included yuzu as part of a larger buildsystem (for whatever reason). Instead, we want to use the directory where the "project(yuzu)" command was declared as the root path reference.
* | web_service/CMakeLists: Make the CPPHTTPLIB_OPENSSL_SUPPORT constrained to the web_service library onlyLioncash2018-10-201-1/+1
|/ | | | | | Given we link in httplib privately, we can also make the definition enabling OpenSSL support private as well. Prevents leaking a definition into other libraries that link with this one, like the core library.
* web_backend: Make Client use the PImpl idiomLioncash2018-10-114-142/+153
| | | | | | 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.
* telemetry_json: Use the PImpl idiom to avoid unnecessary dependency exposureLioncash2018-10-112-49/+55
| | | | | | | | | | Users of the web_service library shouldn't need to care about an external library like json.h. However, given it's exposed in our interface, this requires that other libraries publicly link in the JSON library. We can do better. By using the PImpl idiom, we can hide this dependency in the cpp file and remove the need to link that library in altogether.
* telemetry_json: Add missing override specifier to the destructor of TelemetryJsonLioncash2018-10-111-1/+1
|
* telemetry_json: Take std::string parameters by valueLioncash2018-10-112-3/+2
| | | | | | Taking them by const reference isn't advisable here, because it means the std::move calls were doing nothing and we were always copying the std::string instances.
* telemetry_json: Remove unnecessary includesLioncash2018-10-112-3/+1
| | | | Removes unused includes. Also rectifies a missing <chrono> include.
* Review comments - part 5fearlessTobi2018-10-021-2/+2
|
* Review comments -part 4fearlessTobi2018-10-021-2/+2
|
* Review comments - part 3fearlessTobi2018-10-023-20/+2
|
* web_backend: protect jwt cache with a mutexWeiyi Wang2018-10-022-1/+4
|
* Address a bunch of review commentsfearlessTobi2018-10-023-7/+11
|
* Port web_service from CitrafearlessTobi2018-10-028-0/+474
|
* Massive removal of unused modulesJames Rowe2018-01-137-392/+0
|
* WebService: Verify username and token (#2930)B3n302017-09-195-12/+159
| | | | | | | | | | * 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
* web_backend: Fix CPR bug where Winsock is not properly initializing.bunnei2017-08-271-15/+27
|
* web_backend: Fix asynchronous JSON post by spawning new thread.bunnei2017-08-261-9/+18
|
* web_services: Refactor to remove dependency on Core.bunnei2017-08-264-19/+28
|
* web_backend: User config for username and token, support anonymous post.bunnei2017-08-262-40/+17
|
* web_backend: Specify api-version on JSON post.bunnei2017-07-121-1/+3
|
* telemetry_session: Use TelemetryJson to submit real telemetry.bunnei2017-07-122-3/+1
|
* web_service: Implement JSON serialization of telemetry data.bunnei2017-07-122-0/+125
|
* web_backend: Add initial interface to POST data to Citra Web Services.bunnei2017-07-122-0/+63
|
* web_service: Add skeleton project.bunnei2017-07-105-0/+50