<?php /* * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. 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. */ namespace TencentCloud\Common\Profile; /** * http相关参数类 * Class HttpProfile * @package TencentCloud\Common\Profile */ class HttpProfile { /** * @var string https访问 */ public static $REQ_HTTPS = "https://"; /** * @var string http访问 */ public static $REQ_HTTP = "http://"; /** * @var string post请求 */ public static $REQ_POST = "POST"; /** * @var string get请求 */ public static $REQ_GET = "GET"; /** * @var int 时间一分钟 */ public static $TM_MINUTE = 60; /** * @var string http请求方法 */ private $reqMethod; /** * @var string 请求接入点域名 */ private $endpoint; /** * @var integer 请求超时时长,单位为秒 */ private $reqTimeout; /** * @var string 请求协议 */ private $protocol; /** * @var string|array 请求代理 */ private $proxy; /** * @var string */ private $rootDomain; /** * @var boolean */ private $keepAlive; /** * HttpProfile constructor. * @param string $protocol 请求协议 * @param string $endpoint 请求接入点域名(xx.[region.]tencentcloudapi.com) * @param string $reqMethod http请求方法,目前支持POST GET * @param integer $reqTimeout 请求超时时间,单位:s */ public function __construct($protocol = null, $endpoint = null, $reqMethod = null, $reqTimeout = null) { $this->reqMethod = $reqMethod ? $reqMethod : HttpProfile::$REQ_POST; $this->endpoint = $endpoint; $this->reqTimeout = $reqTimeout ? $reqTimeout : HttpProfile::$TM_MINUTE; $this->protocol = $protocol ? $protocol : HttpProfile::$REQ_HTTPS; $this->rootDomain = "tencentcloudapi.com"; $this->keepAlive = false; } /** * 设置http请求方法 * @param string $reqMethod http请求方法,目前支持POST GET */ public function setReqMethod($reqMethod) { $this->reqMethod = $reqMethod; } /** * 设置请求协议 * @param string $protocol 请求协议(https:// http://) */ public function setProtocol($protocol) { $this->protocol = $protocol; } /** * 设置请求接入点域名 * @param string $endpoint 请求接入点域名(xx.[region.]tencentcloudapi.com) */ public function setEndpoint($endpoint) { $this->endpoint = $endpoint; } /** * 设置请求超时时间 * @param integer $reqTimeout 请求超时时间,单位:s */ public function setReqTimeout($reqTimeout) { $this->reqTimeout = $reqTimeout; } /** * 设置请求代理 * @param string|array $proxy 请求代理配置 */ public function setProxy($proxy) { $this->proxy = $proxy; } /** * 获取请求方法 * @return null|string 请求方法 */ public function getReqMethod() { return $this->reqMethod; } /** * 获取请求协议 * @return null|string 请求协议 */ public function getProtocol() { return $this->protocol; } /** * 获取请求超时时间 * @return int 请求超时时间 */ public function getReqTimeout() { return $this->reqTimeout; } /** * 获取请求接入点域名 * @return null|string 接入点域名 */ public function getEndpoint() { return $this->endpoint; } /** * 获取请求代理 * @return null|string|array */ public function getProxy() { return $this->proxy; } public function setRootDomain($domain) { $this->rootDomain = $domain; } public function getRootDomain() { return $this->rootDomain; } /** * @param boolean $flag */ public function setKeepAlive($flag) { $this->keepAlive = $flag; } public function getKeepAlive() { return $this->keepAlive; } }