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

Method defaults

CesiumIonClient/src/Connection.cpp:593–640  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

591} // namespace
592
593Future<Response<Defaults>> Connection::defaults() const {
594 const std::string url =
595 CesiumUtility::Uri::resolve(this->_apiUrl, "v1/defaults");
596 return this->ensureValidToken().thenImmediately(
597 [pAssetAccessor = this->_pAssetAccessor,
598 asyncSystem = this->_asyncSystem,
599 url](Result<std::string>&& result) {
600 if (!result.value) {
601 return asyncSystem.createResolvedFuture(
602 createNoValidTokenResponse<Defaults>(std::move(result)));
603 }
604
605 return pAssetAccessor
606 ->get(
607 asyncSystem,
608 url,
609 {{"Accept", "application/json"},
610 {"Authorization", *result.value}})
611 .thenImmediately(
612 [](std::shared_ptr<CesiumAsync::IAssetRequest>&& pRequest) {
613 const IAssetResponse* pResponse = pRequest->response();
614 if (!pResponse) {
615 return createEmptyResponse<Defaults>();
616 }
617
618 if (pResponse->statusCode() < 200 ||
619 pResponse->statusCode() >= 300) {
620 return createErrorResponse<Defaults>(pResponse);
621 }
622
623 rapidjson::Document d;
624 if (!parseJsonObject(pResponse, d)) {
625 return createJsonErrorResponse<Defaults>(pResponse, d);
626 }
627 if (!d.IsObject()) {
628 return createJsonTypeResponse<Defaults>(
629 pResponse,
630 "object");
631 }
632
633 return Response<Defaults>(
634 defaultsFromJson(d),
635 pResponse->statusCode(),
636 std::string(),
637 std::string());
638 });
639 });
640}
641
642CesiumAsync::Future<Response<Assets>> Connection::assets() const {
643 const std::string url = Uri::resolve(this->_apiUrl, "v1/assets");

Callers 1

TestConnection.cppFile · 0.80

Calls 7

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

Tested by

no test coverage detected