GeoIP Databases SDK initial release.
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
2020-03-03 Version: 1.36.297
|
||||||
|
- GeoIP Databases SDK initial release.
|
||||||
|
|
||||||
2020-03-03 Version: 1.36.296
|
2020-03-03 Version: 1.36.296
|
||||||
- Supported secretmanager for kms.
|
- Supported secretmanager for kms.
|
||||||
|
|
||||||
|
|||||||
98
geoip/CMakeLists.txt
Normal file
98
geoip/CMakeLists.txt
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
|
||||||
|
|
||||||
|
set(geoip_public_header
|
||||||
|
include/alibabacloud/geoip/GeoipClient.h
|
||||||
|
include/alibabacloud/geoip/GeoipExport.h )
|
||||||
|
|
||||||
|
set(geoip_public_header_model
|
||||||
|
include/alibabacloud/geoip/model/DescribeGeoipInstanceRequest.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeGeoipInstanceResult.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeGeoipInstanceStatisticsRequest.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeGeoipInstanceStatisticsResult.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeGeoipInstancesRequest.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeGeoipInstancesResult.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeIpv6LocationRequest.h
|
||||||
|
include/alibabacloud/geoip/model/DescribeIpv6LocationResult.h )
|
||||||
|
|
||||||
|
set(geoip_src
|
||||||
|
src/GeoipClient.cc
|
||||||
|
src/model/DescribeGeoipInstanceRequest.cc
|
||||||
|
src/model/DescribeGeoipInstanceResult.cc
|
||||||
|
src/model/DescribeGeoipInstanceStatisticsRequest.cc
|
||||||
|
src/model/DescribeGeoipInstanceStatisticsResult.cc
|
||||||
|
src/model/DescribeGeoipInstancesRequest.cc
|
||||||
|
src/model/DescribeGeoipInstancesResult.cc
|
||||||
|
src/model/DescribeIpv6LocationRequest.cc
|
||||||
|
src/model/DescribeIpv6LocationResult.cc )
|
||||||
|
|
||||||
|
add_library(geoip ${LIB_TYPE}
|
||||||
|
${geoip_public_header}
|
||||||
|
${geoip_public_header_model}
|
||||||
|
${geoip_src})
|
||||||
|
|
||||||
|
set_target_properties(geoip
|
||||||
|
PROPERTIES
|
||||||
|
LINKER_LANGUAGE CXX
|
||||||
|
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
|
||||||
|
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||||
|
OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}geoip
|
||||||
|
)
|
||||||
|
|
||||||
|
if(${LIB_TYPE} STREQUAL "SHARED")
|
||||||
|
set_target_properties(geoip
|
||||||
|
PROPERTIES
|
||||||
|
DEFINE_SYMBOL ALIBABACLOUD_GEOIP_LIBRARY)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(geoip
|
||||||
|
PRIVATE include
|
||||||
|
${CMAKE_SOURCE_DIR}/core/include
|
||||||
|
)
|
||||||
|
target_link_libraries(geoip
|
||||||
|
core)
|
||||||
|
|
||||||
|
if(CMAKE_HOST_WIN32)
|
||||||
|
ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
|
||||||
|
set(jsoncpp_install_dir ${INSTALL_DIR})
|
||||||
|
add_dependencies(geoip
|
||||||
|
jsoncpp)
|
||||||
|
target_include_directories(geoip
|
||||||
|
PRIVATE ${jsoncpp_install_dir}/include)
|
||||||
|
target_link_libraries(geoip
|
||||||
|
${jsoncpp_install_dir}/lib/jsoncpp.lib)
|
||||||
|
set_target_properties(geoip
|
||||||
|
PROPERTIES
|
||||||
|
COMPILE_OPTIONS "/bigobj")
|
||||||
|
else()
|
||||||
|
target_include_directories(geoip
|
||||||
|
PRIVATE /usr/include/jsoncpp)
|
||||||
|
target_link_libraries(geoip
|
||||||
|
jsoncpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(FILES ${geoip_public_header}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/geoip)
|
||||||
|
install(FILES ${geoip_public_header_model}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/geoip/model)
|
||||||
|
install(TARGETS geoip
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
)
|
||||||
78
geoip/include/alibabacloud/geoip/GeoipClient.h
Normal file
78
geoip/include/alibabacloud/geoip/GeoipClient.h
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_GEOIPCLIENT_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_GEOIPCLIENT_H_
|
||||||
|
|
||||||
|
#include <future>
|
||||||
|
#include <alibabacloud/core/AsyncCallerContext.h>
|
||||||
|
#include <alibabacloud/core/EndpointProvider.h>
|
||||||
|
#include <alibabacloud/core/RpcServiceClient.h>
|
||||||
|
#include "GeoipExport.h"
|
||||||
|
#include "model/DescribeGeoipInstanceRequest.h"
|
||||||
|
#include "model/DescribeGeoipInstanceResult.h"
|
||||||
|
#include "model/DescribeGeoipInstanceStatisticsRequest.h"
|
||||||
|
#include "model/DescribeGeoipInstanceStatisticsResult.h"
|
||||||
|
#include "model/DescribeGeoipInstancesRequest.h"
|
||||||
|
#include "model/DescribeGeoipInstancesResult.h"
|
||||||
|
#include "model/DescribeIpv6LocationRequest.h"
|
||||||
|
#include "model/DescribeIpv6LocationResult.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT GeoipClient : public RpcServiceClient
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
typedef Outcome<Error, Model::DescribeGeoipInstanceResult> DescribeGeoipInstanceOutcome;
|
||||||
|
typedef std::future<DescribeGeoipInstanceOutcome> DescribeGeoipInstanceOutcomeCallable;
|
||||||
|
typedef std::function<void(const GeoipClient*, const Model::DescribeGeoipInstanceRequest&, const DescribeGeoipInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGeoipInstanceAsyncHandler;
|
||||||
|
typedef Outcome<Error, Model::DescribeGeoipInstanceStatisticsResult> DescribeGeoipInstanceStatisticsOutcome;
|
||||||
|
typedef std::future<DescribeGeoipInstanceStatisticsOutcome> DescribeGeoipInstanceStatisticsOutcomeCallable;
|
||||||
|
typedef std::function<void(const GeoipClient*, const Model::DescribeGeoipInstanceStatisticsRequest&, const DescribeGeoipInstanceStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGeoipInstanceStatisticsAsyncHandler;
|
||||||
|
typedef Outcome<Error, Model::DescribeGeoipInstancesResult> DescribeGeoipInstancesOutcome;
|
||||||
|
typedef std::future<DescribeGeoipInstancesOutcome> DescribeGeoipInstancesOutcomeCallable;
|
||||||
|
typedef std::function<void(const GeoipClient*, const Model::DescribeGeoipInstancesRequest&, const DescribeGeoipInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGeoipInstancesAsyncHandler;
|
||||||
|
typedef Outcome<Error, Model::DescribeIpv6LocationResult> DescribeIpv6LocationOutcome;
|
||||||
|
typedef std::future<DescribeIpv6LocationOutcome> DescribeIpv6LocationOutcomeCallable;
|
||||||
|
typedef std::function<void(const GeoipClient*, const Model::DescribeIpv6LocationRequest&, const DescribeIpv6LocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIpv6LocationAsyncHandler;
|
||||||
|
|
||||||
|
GeoipClient(const Credentials &credentials, const ClientConfiguration &configuration);
|
||||||
|
GeoipClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
|
||||||
|
GeoipClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
|
||||||
|
~GeoipClient();
|
||||||
|
DescribeGeoipInstanceOutcome describeGeoipInstance(const Model::DescribeGeoipInstanceRequest &request)const;
|
||||||
|
void describeGeoipInstanceAsync(const Model::DescribeGeoipInstanceRequest& request, const DescribeGeoipInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||||
|
DescribeGeoipInstanceOutcomeCallable describeGeoipInstanceCallable(const Model::DescribeGeoipInstanceRequest& request) const;
|
||||||
|
DescribeGeoipInstanceStatisticsOutcome describeGeoipInstanceStatistics(const Model::DescribeGeoipInstanceStatisticsRequest &request)const;
|
||||||
|
void describeGeoipInstanceStatisticsAsync(const Model::DescribeGeoipInstanceStatisticsRequest& request, const DescribeGeoipInstanceStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||||
|
DescribeGeoipInstanceStatisticsOutcomeCallable describeGeoipInstanceStatisticsCallable(const Model::DescribeGeoipInstanceStatisticsRequest& request) const;
|
||||||
|
DescribeGeoipInstancesOutcome describeGeoipInstances(const Model::DescribeGeoipInstancesRequest &request)const;
|
||||||
|
void describeGeoipInstancesAsync(const Model::DescribeGeoipInstancesRequest& request, const DescribeGeoipInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||||
|
DescribeGeoipInstancesOutcomeCallable describeGeoipInstancesCallable(const Model::DescribeGeoipInstancesRequest& request) const;
|
||||||
|
DescribeIpv6LocationOutcome describeIpv6Location(const Model::DescribeIpv6LocationRequest &request)const;
|
||||||
|
void describeIpv6LocationAsync(const Model::DescribeIpv6LocationRequest& request, const DescribeIpv6LocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||||
|
DescribeIpv6LocationOutcomeCallable describeIpv6LocationCallable(const Model::DescribeIpv6LocationRequest& request) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::shared_ptr<EndpointProvider> endpointProvider_;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_GEOIPCLIENT_H_
|
||||||
32
geoip/include/alibabacloud/geoip/GeoipExport.h
Normal file
32
geoip/include/alibabacloud/geoip/GeoipExport.h
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_GEOIPEXPORT_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_GEOIPEXPORT_H_
|
||||||
|
|
||||||
|
#include <alibabacloud/core/Global.h>
|
||||||
|
|
||||||
|
#if defined(ALIBABACLOUD_SHARED)
|
||||||
|
# if defined(ALIBABACLOUD_GEOIP_LIBRARY)
|
||||||
|
# define ALIBABACLOUD_GEOIP_EXPORT ALIBABACLOUD_DECL_EXPORT
|
||||||
|
# else
|
||||||
|
# define ALIBABACLOUD_GEOIP_EXPORT ALIBABACLOUD_DECL_IMPORT
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define ALIBABACLOUD_GEOIP_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_GEOIPEXPORT_H_
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCEREQUEST_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCEREQUEST_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeGeoipInstanceRequest : public RpcServiceRequest
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
DescribeGeoipInstanceRequest();
|
||||||
|
~DescribeGeoipInstanceRequest();
|
||||||
|
|
||||||
|
std::string getInstanceId()const;
|
||||||
|
void setInstanceId(const std::string& instanceId);
|
||||||
|
std::string getUserClientIp()const;
|
||||||
|
void setUserClientIp(const std::string& userClientIp);
|
||||||
|
std::string getLang()const;
|
||||||
|
void setLang(const std::string& lang);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string instanceId_;
|
||||||
|
std::string userClientIp_;
|
||||||
|
std::string lang_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCEREQUEST_H_
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCERESULT_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCERESULT_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <utility>
|
||||||
|
#include <alibabacloud/core/ServiceResult.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeGeoipInstanceResult : public ServiceResult
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
DescribeGeoipInstanceResult();
|
||||||
|
explicit DescribeGeoipInstanceResult(const std::string &payload);
|
||||||
|
~DescribeGeoipInstanceResult();
|
||||||
|
std::string getVersionCode()const;
|
||||||
|
long getExpireTimestamp()const;
|
||||||
|
long getMaxQpd()const;
|
||||||
|
long getMaxQps()const;
|
||||||
|
std::string getProductCode()const;
|
||||||
|
std::string getInstanceId()const;
|
||||||
|
std::string getCreateTime()const;
|
||||||
|
long getQueryCount()const;
|
||||||
|
std::string getExpireTime()const;
|
||||||
|
long getCreateTimestamp()const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void parse(const std::string &payload);
|
||||||
|
private:
|
||||||
|
std::string versionCode_;
|
||||||
|
long expireTimestamp_;
|
||||||
|
long maxQpd_;
|
||||||
|
long maxQps_;
|
||||||
|
std::string productCode_;
|
||||||
|
std::string instanceId_;
|
||||||
|
std::string createTime_;
|
||||||
|
long queryCount_;
|
||||||
|
std::string expireTime_;
|
||||||
|
long createTimestamp_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCERESULT_H_
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESTATISTICSREQUEST_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESTATISTICSREQUEST_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeGeoipInstanceStatisticsRequest : public RpcServiceRequest
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
DescribeGeoipInstanceStatisticsRequest();
|
||||||
|
~DescribeGeoipInstanceStatisticsRequest();
|
||||||
|
|
||||||
|
std::string getStartDate()const;
|
||||||
|
void setStartDate(const std::string& startDate);
|
||||||
|
std::string getInstanceId()const;
|
||||||
|
void setInstanceId(const std::string& instanceId);
|
||||||
|
std::string getEndDate()const;
|
||||||
|
void setEndDate(const std::string& endDate);
|
||||||
|
std::string getUserClientIp()const;
|
||||||
|
void setUserClientIp(const std::string& userClientIp);
|
||||||
|
std::string getLang()const;
|
||||||
|
void setLang(const std::string& lang);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string startDate_;
|
||||||
|
std::string instanceId_;
|
||||||
|
std::string endDate_;
|
||||||
|
std::string userClientIp_;
|
||||||
|
std::string lang_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESTATISTICSREQUEST_H_
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESTATISTICSRESULT_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESTATISTICSRESULT_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <utility>
|
||||||
|
#include <alibabacloud/core/ServiceResult.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeGeoipInstanceStatisticsResult : public ServiceResult
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
struct Statistic
|
||||||
|
{
|
||||||
|
long count;
|
||||||
|
long timestamp;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
DescribeGeoipInstanceStatisticsResult();
|
||||||
|
explicit DescribeGeoipInstanceStatisticsResult(const std::string &payload);
|
||||||
|
~DescribeGeoipInstanceStatisticsResult();
|
||||||
|
std::vector<Statistic> getStatistics()const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void parse(const std::string &payload);
|
||||||
|
private:
|
||||||
|
std::vector<Statistic> statistics_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESTATISTICSRESULT_H_
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESREQUEST_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESREQUEST_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeGeoipInstancesRequest : public RpcServiceRequest
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
DescribeGeoipInstancesRequest();
|
||||||
|
~DescribeGeoipInstancesRequest();
|
||||||
|
|
||||||
|
std::string getUserClientIp()const;
|
||||||
|
void setUserClientIp(const std::string& userClientIp);
|
||||||
|
std::string getLang()const;
|
||||||
|
void setLang(const std::string& lang);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string userClientIp_;
|
||||||
|
std::string lang_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESREQUEST_H_
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESRESULT_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESRESULT_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <utility>
|
||||||
|
#include <alibabacloud/core/ServiceResult.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeGeoipInstancesResult : public ServiceResult
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
struct GeoipInstance
|
||||||
|
{
|
||||||
|
std::string status;
|
||||||
|
std::string versionCode;
|
||||||
|
long expireTimestamp;
|
||||||
|
long maxQpd;
|
||||||
|
long maxQps;
|
||||||
|
std::string productCode;
|
||||||
|
std::string instanceId;
|
||||||
|
std::string createTime;
|
||||||
|
std::string expireTime;
|
||||||
|
long createTimestamp;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
DescribeGeoipInstancesResult();
|
||||||
|
explicit DescribeGeoipInstancesResult(const std::string &payload);
|
||||||
|
~DescribeGeoipInstancesResult();
|
||||||
|
std::vector<GeoipInstance> getGeoipInstances()const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void parse(const std::string &payload);
|
||||||
|
private:
|
||||||
|
std::vector<GeoipInstance> geoipInstances_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEGEOIPINSTANCESRESULT_H_
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEIPV6LOCATIONREQUEST_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEIPV6LOCATIONREQUEST_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeIpv6LocationRequest : public RpcServiceRequest
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
DescribeIpv6LocationRequest();
|
||||||
|
~DescribeIpv6LocationRequest();
|
||||||
|
|
||||||
|
std::string getIp()const;
|
||||||
|
void setIp(const std::string& ip);
|
||||||
|
std::string getUserClientIp()const;
|
||||||
|
void setUserClientIp(const std::string& userClientIp);
|
||||||
|
std::string getLang()const;
|
||||||
|
void setLang(const std::string& lang);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string ip_;
|
||||||
|
std::string userClientIp_;
|
||||||
|
std::string lang_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEIPV6LOCATIONREQUEST_H_
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ALIBABACLOUD_GEOIP_MODEL_DESCRIBEIPV6LOCATIONRESULT_H_
|
||||||
|
#define ALIBABACLOUD_GEOIP_MODEL_DESCRIBEIPV6LOCATIONRESULT_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <utility>
|
||||||
|
#include <alibabacloud/core/ServiceResult.h>
|
||||||
|
#include <alibabacloud/geoip/GeoipExport.h>
|
||||||
|
|
||||||
|
namespace AlibabaCloud
|
||||||
|
{
|
||||||
|
namespace Geoip
|
||||||
|
{
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
class ALIBABACLOUD_GEOIP_EXPORT DescribeIpv6LocationResult : public ServiceResult
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
DescribeIpv6LocationResult();
|
||||||
|
explicit DescribeIpv6LocationResult(const std::string &payload);
|
||||||
|
~DescribeIpv6LocationResult();
|
||||||
|
std::string getIp()const;
|
||||||
|
std::string getIsp()const;
|
||||||
|
std::string getCountry()const;
|
||||||
|
std::string getCity()const;
|
||||||
|
std::string getCounty()const;
|
||||||
|
std::string getProvince()const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void parse(const std::string &payload);
|
||||||
|
private:
|
||||||
|
std::string ip_;
|
||||||
|
std::string isp_;
|
||||||
|
std::string country_;
|
||||||
|
std::string city_;
|
||||||
|
std::string county_;
|
||||||
|
std::string province_;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !ALIBABACLOUD_GEOIP_MODEL_DESCRIBEIPV6LOCATIONRESULT_H_
|
||||||
197
geoip/src/GeoipClient.cc
Normal file
197
geoip/src/GeoipClient.cc
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/GeoipClient.h>
|
||||||
|
#include <alibabacloud/core/SimpleCredentialsProvider.h>
|
||||||
|
|
||||||
|
using namespace AlibabaCloud;
|
||||||
|
using namespace AlibabaCloud::Location;
|
||||||
|
using namespace AlibabaCloud::Geoip;
|
||||||
|
using namespace AlibabaCloud::Geoip::Model;
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
const std::string SERVICE_NAME = "geoip";
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::GeoipClient(const Credentials &credentials, const ClientConfiguration &configuration) :
|
||||||
|
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
|
||||||
|
{
|
||||||
|
auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
|
||||||
|
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "geoip");
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::GeoipClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
|
||||||
|
RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
|
||||||
|
{
|
||||||
|
auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
|
||||||
|
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "geoip");
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::GeoipClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
|
||||||
|
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
|
||||||
|
{
|
||||||
|
auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
|
||||||
|
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "geoip");
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::~GeoipClient()
|
||||||
|
{}
|
||||||
|
|
||||||
|
GeoipClient::DescribeGeoipInstanceOutcome GeoipClient::describeGeoipInstance(const DescribeGeoipInstanceRequest &request) const
|
||||||
|
{
|
||||||
|
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||||
|
if (!endpointOutcome.isSuccess())
|
||||||
|
return DescribeGeoipInstanceOutcome(endpointOutcome.error());
|
||||||
|
|
||||||
|
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||||
|
|
||||||
|
if (outcome.isSuccess())
|
||||||
|
return DescribeGeoipInstanceOutcome(DescribeGeoipInstanceResult(outcome.result()));
|
||||||
|
else
|
||||||
|
return DescribeGeoipInstanceOutcome(outcome.error());
|
||||||
|
}
|
||||||
|
|
||||||
|
void GeoipClient::describeGeoipInstanceAsync(const DescribeGeoipInstanceRequest& request, const DescribeGeoipInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||||
|
{
|
||||||
|
auto fn = [this, request, handler, context]()
|
||||||
|
{
|
||||||
|
handler(this, request, describeGeoipInstance(request), context);
|
||||||
|
};
|
||||||
|
|
||||||
|
asyncExecute(new Runnable(fn));
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeGeoipInstanceOutcomeCallable GeoipClient::describeGeoipInstanceCallable(const DescribeGeoipInstanceRequest &request) const
|
||||||
|
{
|
||||||
|
auto task = std::make_shared<std::packaged_task<DescribeGeoipInstanceOutcome()>>(
|
||||||
|
[this, request]()
|
||||||
|
{
|
||||||
|
return this->describeGeoipInstance(request);
|
||||||
|
});
|
||||||
|
|
||||||
|
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||||
|
return task->get_future();
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeGeoipInstanceStatisticsOutcome GeoipClient::describeGeoipInstanceStatistics(const DescribeGeoipInstanceStatisticsRequest &request) const
|
||||||
|
{
|
||||||
|
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||||
|
if (!endpointOutcome.isSuccess())
|
||||||
|
return DescribeGeoipInstanceStatisticsOutcome(endpointOutcome.error());
|
||||||
|
|
||||||
|
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||||
|
|
||||||
|
if (outcome.isSuccess())
|
||||||
|
return DescribeGeoipInstanceStatisticsOutcome(DescribeGeoipInstanceStatisticsResult(outcome.result()));
|
||||||
|
else
|
||||||
|
return DescribeGeoipInstanceStatisticsOutcome(outcome.error());
|
||||||
|
}
|
||||||
|
|
||||||
|
void GeoipClient::describeGeoipInstanceStatisticsAsync(const DescribeGeoipInstanceStatisticsRequest& request, const DescribeGeoipInstanceStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||||
|
{
|
||||||
|
auto fn = [this, request, handler, context]()
|
||||||
|
{
|
||||||
|
handler(this, request, describeGeoipInstanceStatistics(request), context);
|
||||||
|
};
|
||||||
|
|
||||||
|
asyncExecute(new Runnable(fn));
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeGeoipInstanceStatisticsOutcomeCallable GeoipClient::describeGeoipInstanceStatisticsCallable(const DescribeGeoipInstanceStatisticsRequest &request) const
|
||||||
|
{
|
||||||
|
auto task = std::make_shared<std::packaged_task<DescribeGeoipInstanceStatisticsOutcome()>>(
|
||||||
|
[this, request]()
|
||||||
|
{
|
||||||
|
return this->describeGeoipInstanceStatistics(request);
|
||||||
|
});
|
||||||
|
|
||||||
|
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||||
|
return task->get_future();
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeGeoipInstancesOutcome GeoipClient::describeGeoipInstances(const DescribeGeoipInstancesRequest &request) const
|
||||||
|
{
|
||||||
|
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||||
|
if (!endpointOutcome.isSuccess())
|
||||||
|
return DescribeGeoipInstancesOutcome(endpointOutcome.error());
|
||||||
|
|
||||||
|
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||||
|
|
||||||
|
if (outcome.isSuccess())
|
||||||
|
return DescribeGeoipInstancesOutcome(DescribeGeoipInstancesResult(outcome.result()));
|
||||||
|
else
|
||||||
|
return DescribeGeoipInstancesOutcome(outcome.error());
|
||||||
|
}
|
||||||
|
|
||||||
|
void GeoipClient::describeGeoipInstancesAsync(const DescribeGeoipInstancesRequest& request, const DescribeGeoipInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||||
|
{
|
||||||
|
auto fn = [this, request, handler, context]()
|
||||||
|
{
|
||||||
|
handler(this, request, describeGeoipInstances(request), context);
|
||||||
|
};
|
||||||
|
|
||||||
|
asyncExecute(new Runnable(fn));
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeGeoipInstancesOutcomeCallable GeoipClient::describeGeoipInstancesCallable(const DescribeGeoipInstancesRequest &request) const
|
||||||
|
{
|
||||||
|
auto task = std::make_shared<std::packaged_task<DescribeGeoipInstancesOutcome()>>(
|
||||||
|
[this, request]()
|
||||||
|
{
|
||||||
|
return this->describeGeoipInstances(request);
|
||||||
|
});
|
||||||
|
|
||||||
|
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||||
|
return task->get_future();
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeIpv6LocationOutcome GeoipClient::describeIpv6Location(const DescribeIpv6LocationRequest &request) const
|
||||||
|
{
|
||||||
|
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||||
|
if (!endpointOutcome.isSuccess())
|
||||||
|
return DescribeIpv6LocationOutcome(endpointOutcome.error());
|
||||||
|
|
||||||
|
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||||
|
|
||||||
|
if (outcome.isSuccess())
|
||||||
|
return DescribeIpv6LocationOutcome(DescribeIpv6LocationResult(outcome.result()));
|
||||||
|
else
|
||||||
|
return DescribeIpv6LocationOutcome(outcome.error());
|
||||||
|
}
|
||||||
|
|
||||||
|
void GeoipClient::describeIpv6LocationAsync(const DescribeIpv6LocationRequest& request, const DescribeIpv6LocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||||
|
{
|
||||||
|
auto fn = [this, request, handler, context]()
|
||||||
|
{
|
||||||
|
handler(this, request, describeIpv6Location(request), context);
|
||||||
|
};
|
||||||
|
|
||||||
|
asyncExecute(new Runnable(fn));
|
||||||
|
}
|
||||||
|
|
||||||
|
GeoipClient::DescribeIpv6LocationOutcomeCallable GeoipClient::describeIpv6LocationCallable(const DescribeIpv6LocationRequest &request) const
|
||||||
|
{
|
||||||
|
auto task = std::make_shared<std::packaged_task<DescribeIpv6LocationOutcome()>>(
|
||||||
|
[this, request]()
|
||||||
|
{
|
||||||
|
return this->describeIpv6Location(request);
|
||||||
|
});
|
||||||
|
|
||||||
|
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||||
|
return task->get_future();
|
||||||
|
}
|
||||||
|
|
||||||
62
geoip/src/model/DescribeGeoipInstanceRequest.cc
Normal file
62
geoip/src/model/DescribeGeoipInstanceRequest.cc
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeGeoipInstanceRequest.h>
|
||||||
|
|
||||||
|
using AlibabaCloud::Geoip::Model::DescribeGeoipInstanceRequest;
|
||||||
|
|
||||||
|
DescribeGeoipInstanceRequest::DescribeGeoipInstanceRequest() :
|
||||||
|
RpcServiceRequest("geoip", "2020-01-01", "DescribeGeoipInstance")
|
||||||
|
{
|
||||||
|
setMethod(HttpRequest::Method::POST);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeGeoipInstanceRequest::~DescribeGeoipInstanceRequest()
|
||||||
|
{}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceRequest::getInstanceId()const
|
||||||
|
{
|
||||||
|
return instanceId_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceRequest::setInstanceId(const std::string& instanceId)
|
||||||
|
{
|
||||||
|
instanceId_ = instanceId;
|
||||||
|
setParameter("InstanceId", instanceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceRequest::getUserClientIp()const
|
||||||
|
{
|
||||||
|
return userClientIp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceRequest::setUserClientIp(const std::string& userClientIp)
|
||||||
|
{
|
||||||
|
userClientIp_ = userClientIp;
|
||||||
|
setParameter("UserClientIp", userClientIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceRequest::getLang()const
|
||||||
|
{
|
||||||
|
return lang_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceRequest::setLang(const std::string& lang)
|
||||||
|
{
|
||||||
|
lang_ = lang;
|
||||||
|
setParameter("Lang", lang);
|
||||||
|
}
|
||||||
|
|
||||||
114
geoip/src/model/DescribeGeoipInstanceResult.cc
Normal file
114
geoip/src/model/DescribeGeoipInstanceResult.cc
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeGeoipInstanceResult.h>
|
||||||
|
#include <json/json.h>
|
||||||
|
|
||||||
|
using namespace AlibabaCloud::Geoip;
|
||||||
|
using namespace AlibabaCloud::Geoip::Model;
|
||||||
|
|
||||||
|
DescribeGeoipInstanceResult::DescribeGeoipInstanceResult() :
|
||||||
|
ServiceResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
DescribeGeoipInstanceResult::DescribeGeoipInstanceResult(const std::string &payload) :
|
||||||
|
ServiceResult()
|
||||||
|
{
|
||||||
|
parse(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeGeoipInstanceResult::~DescribeGeoipInstanceResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceResult::parse(const std::string &payload)
|
||||||
|
{
|
||||||
|
Json::Reader reader;
|
||||||
|
Json::Value value;
|
||||||
|
reader.parse(payload, value);
|
||||||
|
setRequestId(value["RequestId"].asString());
|
||||||
|
if(!value["ProductCode"].isNull())
|
||||||
|
productCode_ = value["ProductCode"].asString();
|
||||||
|
if(!value["InstanceId"].isNull())
|
||||||
|
instanceId_ = value["InstanceId"].asString();
|
||||||
|
if(!value["VersionCode"].isNull())
|
||||||
|
versionCode_ = value["VersionCode"].asString();
|
||||||
|
if(!value["MaxQps"].isNull())
|
||||||
|
maxQps_ = std::stol(value["MaxQps"].asString());
|
||||||
|
if(!value["MaxQpd"].isNull())
|
||||||
|
maxQpd_ = std::stol(value["MaxQpd"].asString());
|
||||||
|
if(!value["QueryCount"].isNull())
|
||||||
|
queryCount_ = std::stol(value["QueryCount"].asString());
|
||||||
|
if(!value["CreateTime"].isNull())
|
||||||
|
createTime_ = value["CreateTime"].asString();
|
||||||
|
if(!value["CreateTimestamp"].isNull())
|
||||||
|
createTimestamp_ = std::stol(value["CreateTimestamp"].asString());
|
||||||
|
if(!value["ExpireTime"].isNull())
|
||||||
|
expireTime_ = value["ExpireTime"].asString();
|
||||||
|
if(!value["ExpireTimestamp"].isNull())
|
||||||
|
expireTimestamp_ = std::stol(value["ExpireTimestamp"].asString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceResult::getVersionCode()const
|
||||||
|
{
|
||||||
|
return versionCode_;
|
||||||
|
}
|
||||||
|
|
||||||
|
long DescribeGeoipInstanceResult::getExpireTimestamp()const
|
||||||
|
{
|
||||||
|
return expireTimestamp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
long DescribeGeoipInstanceResult::getMaxQpd()const
|
||||||
|
{
|
||||||
|
return maxQpd_;
|
||||||
|
}
|
||||||
|
|
||||||
|
long DescribeGeoipInstanceResult::getMaxQps()const
|
||||||
|
{
|
||||||
|
return maxQps_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceResult::getProductCode()const
|
||||||
|
{
|
||||||
|
return productCode_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceResult::getInstanceId()const
|
||||||
|
{
|
||||||
|
return instanceId_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceResult::getCreateTime()const
|
||||||
|
{
|
||||||
|
return createTime_;
|
||||||
|
}
|
||||||
|
|
||||||
|
long DescribeGeoipInstanceResult::getQueryCount()const
|
||||||
|
{
|
||||||
|
return queryCount_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceResult::getExpireTime()const
|
||||||
|
{
|
||||||
|
return expireTime_;
|
||||||
|
}
|
||||||
|
|
||||||
|
long DescribeGeoipInstanceResult::getCreateTimestamp()const
|
||||||
|
{
|
||||||
|
return createTimestamp_;
|
||||||
|
}
|
||||||
|
|
||||||
84
geoip/src/model/DescribeGeoipInstanceStatisticsRequest.cc
Normal file
84
geoip/src/model/DescribeGeoipInstanceStatisticsRequest.cc
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeGeoipInstanceStatisticsRequest.h>
|
||||||
|
|
||||||
|
using AlibabaCloud::Geoip::Model::DescribeGeoipInstanceStatisticsRequest;
|
||||||
|
|
||||||
|
DescribeGeoipInstanceStatisticsRequest::DescribeGeoipInstanceStatisticsRequest() :
|
||||||
|
RpcServiceRequest("geoip", "2020-01-01", "DescribeGeoipInstanceStatistics")
|
||||||
|
{
|
||||||
|
setMethod(HttpRequest::Method::POST);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeGeoipInstanceStatisticsRequest::~DescribeGeoipInstanceStatisticsRequest()
|
||||||
|
{}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceStatisticsRequest::getStartDate()const
|
||||||
|
{
|
||||||
|
return startDate_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceStatisticsRequest::setStartDate(const std::string& startDate)
|
||||||
|
{
|
||||||
|
startDate_ = startDate;
|
||||||
|
setParameter("StartDate", startDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceStatisticsRequest::getInstanceId()const
|
||||||
|
{
|
||||||
|
return instanceId_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceStatisticsRequest::setInstanceId(const std::string& instanceId)
|
||||||
|
{
|
||||||
|
instanceId_ = instanceId;
|
||||||
|
setParameter("InstanceId", instanceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceStatisticsRequest::getEndDate()const
|
||||||
|
{
|
||||||
|
return endDate_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceStatisticsRequest::setEndDate(const std::string& endDate)
|
||||||
|
{
|
||||||
|
endDate_ = endDate;
|
||||||
|
setParameter("EndDate", endDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceStatisticsRequest::getUserClientIp()const
|
||||||
|
{
|
||||||
|
return userClientIp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceStatisticsRequest::setUserClientIp(const std::string& userClientIp)
|
||||||
|
{
|
||||||
|
userClientIp_ = userClientIp;
|
||||||
|
setParameter("UserClientIp", userClientIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstanceStatisticsRequest::getLang()const
|
||||||
|
{
|
||||||
|
return lang_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceStatisticsRequest::setLang(const std::string& lang)
|
||||||
|
{
|
||||||
|
lang_ = lang;
|
||||||
|
setParameter("Lang", lang);
|
||||||
|
}
|
||||||
|
|
||||||
59
geoip/src/model/DescribeGeoipInstanceStatisticsResult.cc
Normal file
59
geoip/src/model/DescribeGeoipInstanceStatisticsResult.cc
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeGeoipInstanceStatisticsResult.h>
|
||||||
|
#include <json/json.h>
|
||||||
|
|
||||||
|
using namespace AlibabaCloud::Geoip;
|
||||||
|
using namespace AlibabaCloud::Geoip::Model;
|
||||||
|
|
||||||
|
DescribeGeoipInstanceStatisticsResult::DescribeGeoipInstanceStatisticsResult() :
|
||||||
|
ServiceResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
DescribeGeoipInstanceStatisticsResult::DescribeGeoipInstanceStatisticsResult(const std::string &payload) :
|
||||||
|
ServiceResult()
|
||||||
|
{
|
||||||
|
parse(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeGeoipInstanceStatisticsResult::~DescribeGeoipInstanceStatisticsResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
void DescribeGeoipInstanceStatisticsResult::parse(const std::string &payload)
|
||||||
|
{
|
||||||
|
Json::Reader reader;
|
||||||
|
Json::Value value;
|
||||||
|
reader.parse(payload, value);
|
||||||
|
setRequestId(value["RequestId"].asString());
|
||||||
|
auto allStatisticsNode = value["Statistics"]["Statistic"];
|
||||||
|
for (auto valueStatisticsStatistic : allStatisticsNode)
|
||||||
|
{
|
||||||
|
Statistic statisticsObject;
|
||||||
|
if(!valueStatisticsStatistic["Timestamp"].isNull())
|
||||||
|
statisticsObject.timestamp = std::stol(valueStatisticsStatistic["Timestamp"].asString());
|
||||||
|
if(!valueStatisticsStatistic["Count"].isNull())
|
||||||
|
statisticsObject.count = std::stol(valueStatisticsStatistic["Count"].asString());
|
||||||
|
statistics_.push_back(statisticsObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<DescribeGeoipInstanceStatisticsResult::Statistic> DescribeGeoipInstanceStatisticsResult::getStatistics()const
|
||||||
|
{
|
||||||
|
return statistics_;
|
||||||
|
}
|
||||||
|
|
||||||
51
geoip/src/model/DescribeGeoipInstancesRequest.cc
Normal file
51
geoip/src/model/DescribeGeoipInstancesRequest.cc
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeGeoipInstancesRequest.h>
|
||||||
|
|
||||||
|
using AlibabaCloud::Geoip::Model::DescribeGeoipInstancesRequest;
|
||||||
|
|
||||||
|
DescribeGeoipInstancesRequest::DescribeGeoipInstancesRequest() :
|
||||||
|
RpcServiceRequest("geoip", "2020-01-01", "DescribeGeoipInstances")
|
||||||
|
{
|
||||||
|
setMethod(HttpRequest::Method::POST);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeGeoipInstancesRequest::~DescribeGeoipInstancesRequest()
|
||||||
|
{}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstancesRequest::getUserClientIp()const
|
||||||
|
{
|
||||||
|
return userClientIp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstancesRequest::setUserClientIp(const std::string& userClientIp)
|
||||||
|
{
|
||||||
|
userClientIp_ = userClientIp;
|
||||||
|
setParameter("UserClientIp", userClientIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeGeoipInstancesRequest::getLang()const
|
||||||
|
{
|
||||||
|
return lang_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeGeoipInstancesRequest::setLang(const std::string& lang)
|
||||||
|
{
|
||||||
|
lang_ = lang;
|
||||||
|
setParameter("Lang", lang);
|
||||||
|
}
|
||||||
|
|
||||||
75
geoip/src/model/DescribeGeoipInstancesResult.cc
Normal file
75
geoip/src/model/DescribeGeoipInstancesResult.cc
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeGeoipInstancesResult.h>
|
||||||
|
#include <json/json.h>
|
||||||
|
|
||||||
|
using namespace AlibabaCloud::Geoip;
|
||||||
|
using namespace AlibabaCloud::Geoip::Model;
|
||||||
|
|
||||||
|
DescribeGeoipInstancesResult::DescribeGeoipInstancesResult() :
|
||||||
|
ServiceResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
DescribeGeoipInstancesResult::DescribeGeoipInstancesResult(const std::string &payload) :
|
||||||
|
ServiceResult()
|
||||||
|
{
|
||||||
|
parse(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeGeoipInstancesResult::~DescribeGeoipInstancesResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
void DescribeGeoipInstancesResult::parse(const std::string &payload)
|
||||||
|
{
|
||||||
|
Json::Reader reader;
|
||||||
|
Json::Value value;
|
||||||
|
reader.parse(payload, value);
|
||||||
|
setRequestId(value["RequestId"].asString());
|
||||||
|
auto allGeoipInstancesNode = value["GeoipInstances"]["GeoipInstance"];
|
||||||
|
for (auto valueGeoipInstancesGeoipInstance : allGeoipInstancesNode)
|
||||||
|
{
|
||||||
|
GeoipInstance geoipInstancesObject;
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["ProductCode"].isNull())
|
||||||
|
geoipInstancesObject.productCode = valueGeoipInstancesGeoipInstance["ProductCode"].asString();
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["InstanceId"].isNull())
|
||||||
|
geoipInstancesObject.instanceId = valueGeoipInstancesGeoipInstance["InstanceId"].asString();
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["VersionCode"].isNull())
|
||||||
|
geoipInstancesObject.versionCode = valueGeoipInstancesGeoipInstance["VersionCode"].asString();
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["Status"].isNull())
|
||||||
|
geoipInstancesObject.status = valueGeoipInstancesGeoipInstance["Status"].asString();
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["CreateTime"].isNull())
|
||||||
|
geoipInstancesObject.createTime = valueGeoipInstancesGeoipInstance["CreateTime"].asString();
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["CreateTimestamp"].isNull())
|
||||||
|
geoipInstancesObject.createTimestamp = std::stol(valueGeoipInstancesGeoipInstance["CreateTimestamp"].asString());
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["ExpireTime"].isNull())
|
||||||
|
geoipInstancesObject.expireTime = valueGeoipInstancesGeoipInstance["ExpireTime"].asString();
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["ExpireTimestamp"].isNull())
|
||||||
|
geoipInstancesObject.expireTimestamp = std::stol(valueGeoipInstancesGeoipInstance["ExpireTimestamp"].asString());
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["MaxQps"].isNull())
|
||||||
|
geoipInstancesObject.maxQps = std::stol(valueGeoipInstancesGeoipInstance["MaxQps"].asString());
|
||||||
|
if(!valueGeoipInstancesGeoipInstance["MaxQpd"].isNull())
|
||||||
|
geoipInstancesObject.maxQpd = std::stol(valueGeoipInstancesGeoipInstance["MaxQpd"].asString());
|
||||||
|
geoipInstances_.push_back(geoipInstancesObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<DescribeGeoipInstancesResult::GeoipInstance> DescribeGeoipInstancesResult::getGeoipInstances()const
|
||||||
|
{
|
||||||
|
return geoipInstances_;
|
||||||
|
}
|
||||||
|
|
||||||
62
geoip/src/model/DescribeIpv6LocationRequest.cc
Normal file
62
geoip/src/model/DescribeIpv6LocationRequest.cc
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeIpv6LocationRequest.h>
|
||||||
|
|
||||||
|
using AlibabaCloud::Geoip::Model::DescribeIpv6LocationRequest;
|
||||||
|
|
||||||
|
DescribeIpv6LocationRequest::DescribeIpv6LocationRequest() :
|
||||||
|
RpcServiceRequest("geoip", "2020-01-01", "DescribeIpv6Location")
|
||||||
|
{
|
||||||
|
setMethod(HttpRequest::Method::POST);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeIpv6LocationRequest::~DescribeIpv6LocationRequest()
|
||||||
|
{}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationRequest::getIp()const
|
||||||
|
{
|
||||||
|
return ip_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeIpv6LocationRequest::setIp(const std::string& ip)
|
||||||
|
{
|
||||||
|
ip_ = ip;
|
||||||
|
setParameter("Ip", ip);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationRequest::getUserClientIp()const
|
||||||
|
{
|
||||||
|
return userClientIp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeIpv6LocationRequest::setUserClientIp(const std::string& userClientIp)
|
||||||
|
{
|
||||||
|
userClientIp_ = userClientIp;
|
||||||
|
setParameter("UserClientIp", userClientIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationRequest::getLang()const
|
||||||
|
{
|
||||||
|
return lang_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DescribeIpv6LocationRequest::setLang(const std::string& lang)
|
||||||
|
{
|
||||||
|
lang_ = lang;
|
||||||
|
setParameter("Lang", lang);
|
||||||
|
}
|
||||||
|
|
||||||
86
geoip/src/model/DescribeIpv6LocationResult.cc
Normal file
86
geoip/src/model/DescribeIpv6LocationResult.cc
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <alibabacloud/geoip/model/DescribeIpv6LocationResult.h>
|
||||||
|
#include <json/json.h>
|
||||||
|
|
||||||
|
using namespace AlibabaCloud::Geoip;
|
||||||
|
using namespace AlibabaCloud::Geoip::Model;
|
||||||
|
|
||||||
|
DescribeIpv6LocationResult::DescribeIpv6LocationResult() :
|
||||||
|
ServiceResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
DescribeIpv6LocationResult::DescribeIpv6LocationResult(const std::string &payload) :
|
||||||
|
ServiceResult()
|
||||||
|
{
|
||||||
|
parse(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
DescribeIpv6LocationResult::~DescribeIpv6LocationResult()
|
||||||
|
{}
|
||||||
|
|
||||||
|
void DescribeIpv6LocationResult::parse(const std::string &payload)
|
||||||
|
{
|
||||||
|
Json::Reader reader;
|
||||||
|
Json::Value value;
|
||||||
|
reader.parse(payload, value);
|
||||||
|
setRequestId(value["RequestId"].asString());
|
||||||
|
if(!value["Ip"].isNull())
|
||||||
|
ip_ = value["Ip"].asString();
|
||||||
|
if(!value["Country"].isNull())
|
||||||
|
country_ = value["Country"].asString();
|
||||||
|
if(!value["Province"].isNull())
|
||||||
|
province_ = value["Province"].asString();
|
||||||
|
if(!value["City"].isNull())
|
||||||
|
city_ = value["City"].asString();
|
||||||
|
if(!value["County"].isNull())
|
||||||
|
county_ = value["County"].asString();
|
||||||
|
if(!value["Isp"].isNull())
|
||||||
|
isp_ = value["Isp"].asString();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationResult::getIp()const
|
||||||
|
{
|
||||||
|
return ip_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationResult::getIsp()const
|
||||||
|
{
|
||||||
|
return isp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationResult::getCountry()const
|
||||||
|
{
|
||||||
|
return country_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationResult::getCity()const
|
||||||
|
{
|
||||||
|
return city_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationResult::getCounty()const
|
||||||
|
{
|
||||||
|
return county_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DescribeIpv6LocationResult::getProvince()const
|
||||||
|
{
|
||||||
|
return province_;
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user