MCPcopy Create free account
hub / github.com/CesiumGS/cesium-native / token

Method token

CesiumIonClient/src/Connection.cpp:841–889  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

839}
840
841CesiumAsync::Future<Response<Token>>
842Connection::token(const std::string& tokenID) const {
843 std::string tokensUrl =
844 CesiumUtility::Uri::resolve(this->_apiUrl, "v2/tokens/");
845
846 return this->ensureValidToken().thenImmediately(
847 [pAssetAccessor = this->_pAssetAccessor,
848 asyncSystem = this->_asyncSystem,
849 tokensUrl,
850 tokenID](Result<std::string>&& result) {
851 if (!result.value) {
852 return asyncSystem.createResolvedFuture(
853 createNoValidTokenResponse<Token>(std::move(result)));
854 }
855
856 return pAssetAccessor
857 ->get(
858 asyncSystem,
859 CesiumUtility::Uri::resolve(tokensUrl, tokenID),
860 {{"Accept", "application/json"},
861 {"Authorization", *result.value}})
862 .thenImmediately(
863 [](std::shared_ptr<CesiumAsync::IAssetRequest>&& pRequest) {
864 const IAssetResponse* pResponse = pRequest->response();
865 if (!pResponse) {
866 return createEmptyResponse<Token>();
867 }
868
869 if (pResponse->statusCode() < 200 ||
870 pResponse->statusCode() >= 300) {
871 return createErrorResponse<Token>(pResponse);
872 }
873
874 rapidjson::Document d;
875 if (!parseJsonObject(pResponse, d)) {
876 return createJsonErrorResponse<Token>(pResponse, d);
877 }
878 if (!d.IsObject()) {
879 return createJsonTypeResponse<Token>(pResponse, "object");
880 }
881
882 return Response<Token>{
883 tokenFromJson(d),
884 pResponse->statusCode(),
885 std::string(),
886 std::string()};
887 });
888 });
889}
890
891CesiumAsync::Future<Response<TokenList>>
892Connection::nextPage(const Response<TokenList>& currentPage) const {

Callers

nothing calls this directly

Calls 7

ensureValidTokenMethod · 0.95
parseJsonObjectFunction · 0.85
tokenFromJsonFunction · 0.85
thenImmediatelyMethod · 0.45
getMethod · 0.45
responseMethod · 0.45
statusCodeMethod · 0.45

Tested by

no test coverage detected