MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / ClientServerCall

Method ClientServerCall

pcsx2/Achievements.cpp:748–784  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

746}
747
748void Achievements::ClientServerCall(
749 const rc_api_request_t* request, rc_client_server_callback_t callback, void* callback_data, rc_client_t* client)
750{
751 HTTPDownloader::Request::Callback hd_callback = [callback, callback_data](s32 status_code, const std::string& content_type, HTTPDownloader::Request::Data data)
752 {
753 const bool is_error = (status_code <= 0);
754 const bool is_retryable =
755 is_error && (status_code == HTTPDownloader::HTTP_STATUS_TIMEOUT);
756
757 rc_api_server_response_t rr;
758 rr.http_status_code =
759 is_error
760 ? (is_retryable
761 ? RC_API_SERVER_RESPONSE_RETRYABLE_CLIENT_ERROR
762 : RC_API_SERVER_RESPONSE_CLIENT_ERROR)
763 : status_code;
764
765 rr.body_length = data.size();
766 rr.body = reinterpret_cast<const char*>(data.data());
767
768 callback(&rr, callback_data);
769 };
770
771 HTTPDownloader* http = static_cast<HTTPDownloader*>(rc_client_get_userdata(client));
772
773 // TODO: Content-type for post
774 if (request->post_data)
775 {
776 // const auto pd = std::string_view(request->post_data);
777 // Console.WriteLn(fmt::format("Server POST: {}", pd.substr(0, std::min<size_t>(pd.length(), 10))).c_str());
778 http->CreatePostRequest(request->url, request->post_data, std::move(hd_callback));
779 }
780 else
781 {
782 http->CreateRequest(request->url, std::move(hd_callback));
783 }
784}
785
786
787void Achievements::IdleUpdate()

Callers

nothing calls this directly

Calls 5

rc_client_get_userdataFunction · 0.85
CreatePostRequestMethod · 0.80
CreateRequestMethod · 0.80
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected