일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Oracle
- jenkins
- IntelliJ
- Gradle
- linux
- MySQL
- db
- laravel
- it
- devops
- AWS
- Web Server
- JVM
- Spring
- springboot
- 맛집
- ubuntu
- Git
- Spring Batch
- java
- 요리
- jsp
- Spring Boot
- Design Patterns
- redis
- php
- javascript
- ReactJS
- tool
- elasticsearch
Archives
- Today
- Total
아무거나
라이브러guzzle http client 동기/비동기 요청 본문
반응형
[php guzzle http client 동기/비동기 요청]
http://docs.guzzlephp.org/en/stable/index.html // guzzle은 curl 통신을 위한 라이브러리 이다.
public function __construct($vendorName, $wmpVendorId, $dataProviderType, $dataProviderProcessType, $startTime)
{
$this->url = getenv('INTERNAL_API_HOST').'/v1/systems/operation/logs';
$this->serverIp = getenv('SERVER_ADDR');
$this->serverDomain = getenv('HTTP_HOST');
$this->vendorName = $vendorName;
$this->wmpVendorId = $wmpVendorId;
$this->dataProviderType = $dataProviderType;
$this->dataProviderProcessType = $dataProviderProcessType;
$this->startTime = $startTime;
}
// 동기 ex)
public function setLog($logLevel=3, $productCnt=0, $operatingTime=0, $msg='')
{
$body = [
'logLevel' => $logLevel,
'projectType' => self::PROJECT_TYPE,
'vendorName' => $this->vendorName,
'wmpVendorId' => $this->wmpVendorId,
'dataProviderType' => $this->dataProviderType,
'dataProviderProcessType' => $this->dataProviderProcessType,
'productCnt' => $productCnt,
'operatingTime' => $operatingTime,
'msg' => $msg,
'serverIp' => $this->serverIp,
'domain' => $this->serverDomain,
'startTime' => $this->startTime
];
$client = new Client();
$client->request('POST', $this->url, [
'headers' => [
'content-type'=> 'application/json; charset=utf8'
],
'connect_timeout' => self::CONNECT_TIMEOUT,
'timeout' => self::TIMEOUT,
'body' => json_encode($body)
]);
}
// 비동기 ex)
public function setLogAsync($logLevel=3, $productCnt=0, $operatingTime=0, $msg='')
{
$body = [
'logLevel' => $logLevel,
'projectType' => self::PROJECT_TYPE,
'vendorName' => $this->vendorName,
'wmpVendorId' => $this->wmpVendorId,
'dataProviderType' => $this->dataProviderType,
'dataProviderProcessType' => $this->dataProviderProcessType,
'productCnt' => $productCnt,
'operatingTime' => $operatingTime,
'msg' => $msg,
'serverIp' => $this->serverIp,
'domain' => $this->serverDomain,
'startTime' => $this->startTime
];
$client = new Client();
$stream = stream_for(json_encode($body));
$client->request('POST', $this->url, [
'headers' => [
'content-type'=> 'application/json; charset=utf8'
],
'connect_timeout' => self::CONNECT_TIMEOUT,
'timeout' => self::TIMEOUT,
'body' => $stream
]);
}
반응형
'PHP > PHP' 카테고리의 다른 글
크로스 도메인 허용 방법 (0) | 2019.04.24 |
---|---|
숫자 자릿수 체크 strlen (0) | 2019.04.08 |
[magento] 마젠토 클라우드 푸시 리스트 확인 방법 (0) | 2019.04.08 |
php 함수 찾을 문자열이 나온 처음 위치부터 끝까지 반환 (0) | 2019.04.08 |
배열의 교집합 추출 (0) | 2019.04.08 |
Comments