Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
token
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wallet
token
Commits
bd210511
Commit
bd210511
authored
Sep 09, 2019
by
shajiaiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整请求时间
parent
176cbc54
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
65 additions
and
18 deletions
+65
-18
Curl.php
common/helpers/Curl.php
+58
-14
Chain33Service.php
common/service/chain33/Chain33Service.php
+7
-3
CrossChainController.php
console/controllers/CrossChainController.php
+0
-1
No files found.
common/helpers/Curl.php
View file @
bd210511
...
@@ -103,11 +103,24 @@ class Curl
...
@@ -103,11 +103,24 @@ class Curl
*
*
* @return mixed response
* @return mixed response
*/
*/
protected
$connect_timeout_ms
;
protected
$timeout_ms
;
public
function
__construct
(
$config
=
[])
{
if
(
!
empty
(
$config
))
{
$this
->
connect_timeout_ms
=
isset
(
$config
[
'connect_timeout'
])
?
$config
[
'connect_timeout'
]
:
10
;
$this
->
timeout_ms
=
isset
(
$config
[
'timeout_ms'
])
?
$config
[
'timeout_ms'
]
:
100
;
}
}
public
function
get
(
$url
,
$raw
=
true
)
public
function
get
(
$url
,
$raw
=
true
)
{
{
$this
->
_baseUrl
=
$url
;
$this
->
_baseUrl
=
$url
;
return
$this
->
_httpRequest
(
'GET'
,
$raw
);
return
$this
->
_httpRequest
(
'GET'
,
$raw
);
}
}
/**
/**
* Start performing HEAD-HTTP-Request
* Start performing HEAD-HTTP-Request
*
*
...
@@ -120,6 +133,7 @@ class Curl
...
@@ -120,6 +133,7 @@ class Curl
$this
->
_baseUrl
=
$url
;
$this
->
_baseUrl
=
$url
;
return
$this
->
_httpRequest
(
'HEAD'
);
return
$this
->
_httpRequest
(
'HEAD'
);
}
}
/**
/**
* Start performing POST-HTTP-Request
* Start performing POST-HTTP-Request
*
*
...
@@ -133,6 +147,7 @@ class Curl
...
@@ -133,6 +147,7 @@ class Curl
$this
->
_baseUrl
=
$url
;
$this
->
_baseUrl
=
$url
;
return
$this
->
_httpRequest
(
'POST'
,
$raw
);
return
$this
->
_httpRequest
(
'POST'
,
$raw
);
}
}
/**
/**
* Start performing PUT-HTTP-Request
* Start performing PUT-HTTP-Request
*
*
...
@@ -146,6 +161,7 @@ class Curl
...
@@ -146,6 +161,7 @@ class Curl
$this
->
_baseUrl
=
$url
;
$this
->
_baseUrl
=
$url
;
return
$this
->
_httpRequest
(
'PUT'
,
$raw
);
return
$this
->
_httpRequest
(
'PUT'
,
$raw
);
}
}
/**
/**
* Start performing PATCH-HTTP-Request
* Start performing PATCH-HTTP-Request
*
*
...
@@ -160,8 +176,9 @@ class Curl
...
@@ -160,8 +176,9 @@ class Curl
$this
->
setHeaders
([
$this
->
setHeaders
([
'X-HTTP-Method-Override'
=>
'PATCH'
'X-HTTP-Method-Override'
=>
'PATCH'
]);
]);
return
$this
->
_httpRequest
(
'POST'
,
$raw
);
return
$this
->
_httpRequest
(
'POST'
,
$raw
);
}
}
/**
/**
* Start performing DELETE-HTTP-Request
* Start performing DELETE-HTTP-Request
*
*
...
@@ -175,6 +192,7 @@ class Curl
...
@@ -175,6 +192,7 @@ class Curl
$this
->
_baseUrl
=
$url
;
$this
->
_baseUrl
=
$url
;
return
$this
->
_httpRequest
(
'DELETE'
,
$raw
);
return
$this
->
_httpRequest
(
'DELETE'
,
$raw
);
}
}
/**
/**
* Set curl option
* Set curl option
*
*
...
@@ -194,6 +212,7 @@ class Curl
...
@@ -194,6 +212,7 @@ class Curl
//return self
//return self
return
$this
;
return
$this
;
}
}
/**
/**
* Set get params
* Set get params
*
*
...
@@ -210,6 +229,7 @@ class Curl
...
@@ -210,6 +229,7 @@ class Curl
//return self
//return self
return
$this
;
return
$this
;
}
}
/**
/**
* Set get params
* Set get params
*
*
...
@@ -227,6 +247,7 @@ class Curl
...
@@ -227,6 +247,7 @@ class Curl
//return self
//return self
return
$this
;
return
$this
;
}
}
/**
/**
* Set raw post data allows you to post any data format.
* Set raw post data allows you to post any data format.
*
*
...
@@ -242,6 +263,7 @@ class Curl
...
@@ -242,6 +263,7 @@ class Curl
//return self
//return self
return
$this
;
return
$this
;
}
}
/**
/**
* Set get params
* Set get params
*
*
...
@@ -259,6 +281,7 @@ class Curl
...
@@ -259,6 +281,7 @@ class Curl
//return self
//return self
return
$this
;
return
$this
;
}
}
/**
/**
* Get URL - return URL parsed with given params
* Get URL - return URL parsed with given params
*
*
...
@@ -267,11 +290,12 @@ class Curl
...
@@ -267,11 +290,12 @@ class Curl
public
function
getUrl
()
public
function
getUrl
()
{
{
if
(
Count
(
$this
->
_getParams
)
>
0
)
{
if
(
Count
(
$this
->
_getParams
)
>
0
)
{
return
$this
->
_baseUrl
.
'?'
.
http_build_query
(
$this
->
_getParams
);
return
$this
->
_baseUrl
.
'?'
.
http_build_query
(
$this
->
_getParams
);
}
else
{
}
else
{
return
$this
->
_baseUrl
;
return
$this
->
_baseUrl
;
}
}
}
}
/**
/**
* Set curl options
* Set curl options
*
*
...
@@ -284,6 +308,7 @@ class Curl
...
@@ -284,6 +308,7 @@ class Curl
$this
->
_options
=
$options
+
$this
->
_options
;
$this
->
_options
=
$options
+
$this
->
_options
;
return
$this
;
return
$this
;
}
}
/**
/**
* Set multiple headers for request.
* Set multiple headers for request.
*
*
...
@@ -298,11 +323,11 @@ class Curl
...
@@ -298,11 +323,11 @@ class Curl
$parsedHeader
=
[];
$parsedHeader
=
[];
//collect currently set headers
//collect currently set headers
foreach
(
$this
->
getRequestHeaders
()
as
$header
=>
$value
)
{
foreach
(
$this
->
getRequestHeaders
()
as
$header
=>
$value
)
{
array_push
(
$parsedHeader
,
$header
.
':'
.
$value
);
array_push
(
$parsedHeader
,
$header
.
':'
.
$value
);
}
}
//parse header into right format key:value
//parse header into right format key:value
foreach
(
$headers
as
$header
=>
$value
)
{
foreach
(
$headers
as
$header
=>
$value
)
{
array_push
(
$parsedHeader
,
$header
.
':'
.
$value
);
array_push
(
$parsedHeader
,
$header
.
':'
.
$value
);
}
}
//set headers
//set headers
$this
->
setOption
(
$this
->
setOption
(
...
@@ -312,6 +337,7 @@ class Curl
...
@@ -312,6 +337,7 @@ class Curl
}
}
return
$this
;
return
$this
;
}
}
/**
/**
* Set a single header for request.
* Set a single header for request.
*
*
...
@@ -326,11 +352,11 @@ class Curl
...
@@ -326,11 +352,11 @@ class Curl
$parsedHeader
=
[];
$parsedHeader
=
[];
//collect currently set headers
//collect currently set headers
foreach
(
$this
->
getRequestHeaders
()
as
$headerToSet
=>
$valueToSet
)
{
foreach
(
$this
->
getRequestHeaders
()
as
$headerToSet
=>
$valueToSet
)
{
array_push
(
$parsedHeader
,
$headerToSet
.
':'
.
$valueToSet
);
array_push
(
$parsedHeader
,
$headerToSet
.
':'
.
$valueToSet
);
}
}
//add override new header
//add override new header
if
(
strlen
(
$header
)
>
0
)
{
if
(
strlen
(
$header
)
>
0
)
{
array_push
(
$parsedHeader
,
$header
.
':'
.
$value
);
array_push
(
$parsedHeader
,
$header
.
':'
.
$value
);
}
}
//set headers
//set headers
$this
->
setOption
(
$this
->
setOption
(
...
@@ -339,6 +365,7 @@ class Curl
...
@@ -339,6 +365,7 @@ class Curl
);
);
return
$this
;
return
$this
;
}
}
/**
/**
* Unset a single header.
* Unset a single header.
*
*
...
@@ -353,7 +380,7 @@ class Curl
...
@@ -353,7 +380,7 @@ class Curl
//collect currently set headers and filter "unset" header param.
//collect currently set headers and filter "unset" header param.
foreach
(
$this
->
getRequestHeaders
()
as
$headerToSet
=>
$valueToSet
)
{
foreach
(
$this
->
getRequestHeaders
()
as
$headerToSet
=>
$valueToSet
)
{
if
(
$header
!==
$headerToSet
)
{
if
(
$header
!==
$headerToSet
)
{
array_push
(
$parsedHeader
,
$headerToSet
.
':'
.
$valueToSet
);
array_push
(
$parsedHeader
,
$headerToSet
.
':'
.
$valueToSet
);
}
}
}
}
//set headers
//set headers
...
@@ -363,6 +390,7 @@ class Curl
...
@@ -363,6 +390,7 @@ class Curl
);
);
return
$this
;
return
$this
;
}
}
/**
/**
* Get all request headers as key:value array
* Get all request headers as key:value array
*
*
...
@@ -381,6 +409,7 @@ class Curl
...
@@ -381,6 +409,7 @@ class Curl
}
}
return
$parsedRequestHeaders
;
return
$parsedRequestHeaders
;
}
}
/**
/**
* Get specific request header as key:value array
* Get specific request header as key:value array
*
*
...
@@ -394,6 +423,7 @@ class Curl
...
@@ -394,6 +423,7 @@ class Curl
$parsedRequestHeaders
=
$this
->
getRequestHeaders
();
$parsedRequestHeaders
=
$this
->
getRequestHeaders
();
return
isset
(
$parsedRequestHeaders
[
$headerKey
])
?
$parsedRequestHeaders
[
$headerKey
]
:
null
;
return
isset
(
$parsedRequestHeaders
[
$headerKey
])
?
$parsedRequestHeaders
[
$headerKey
]
:
null
;
}
}
/**
/**
* Unset a single curl option
* Unset a single curl option
*
*
...
@@ -409,6 +439,7 @@ class Curl
...
@@ -409,6 +439,7 @@ class Curl
}
}
return
$this
;
return
$this
;
}
}
/**
/**
* Unset all curl option, excluding default options.
* Unset all curl option, excluding default options.
*
*
...
@@ -422,6 +453,7 @@ class Curl
...
@@ -422,6 +453,7 @@ class Curl
}
}
return
$this
;
return
$this
;
}
}
/**
/**
* Total reset of options, responses, etc.
* Total reset of options, responses, etc.
*
*
...
@@ -449,6 +481,7 @@ class Curl
...
@@ -449,6 +481,7 @@ class Curl
$this
->
_getParams
=
[];
$this
->
_getParams
=
[];
return
$this
;
return
$this
;
}
}
/**
/**
* Return a single option
* Return a single option
*
*
...
@@ -462,6 +495,7 @@ class Curl
...
@@ -462,6 +495,7 @@ class Curl
//return value or false if key is not set.
//return value or false if key is not set.
return
isset
(
$mergesOptions
[
$key
])
?
$mergesOptions
[
$key
]
:
false
;
return
isset
(
$mergesOptions
[
$key
])
?
$mergesOptions
[
$key
]
:
false
;
}
}
/**
/**
* Return merged curl options and keep keys!
* Return merged curl options and keep keys!
*
*
...
@@ -471,6 +505,7 @@ class Curl
...
@@ -471,6 +505,7 @@ class Curl
{
{
return
$this
->
_options
+
$this
->
_defaultOptions
;
return
$this
->
_options
+
$this
->
_defaultOptions
;
}
}
/**
/**
* Get curl info according to http://php.net/manual/de/function.curl-getinfo.php
* Get curl info according to http://php.net/manual/de/function.curl-getinfo.php
*
*
...
@@ -487,6 +522,7 @@ class Curl
...
@@ -487,6 +522,7 @@ class Curl
return
[];
return
[];
}
}
}
}
/**
/**
* Performs HTTP request
* Performs HTTP request
*
*
...
@@ -508,8 +544,8 @@ class Curl
...
@@ -508,8 +544,8 @@ class Curl
}
}
//setup error reporting and profiling
//setup error reporting and profiling
if
(
YII_DEBUG
)
{
if
(
YII_DEBUG
)
{
Yii
::
trace
(
'Start sending cURL-Request: '
.
$this
->
getUrl
()
.
'\n'
,
__METHOD__
);
Yii
::
trace
(
'Start sending cURL-Request: '
.
$this
->
getUrl
()
.
'\n'
,
__METHOD__
);
Yii
::
beginProfile
(
$method
.
' '
.
$this
->
_baseUrl
.
'#'
.
md5
(
serialize
(
$this
->
getOption
(
CURLOPT_POSTFIELDS
))),
__METHOD__
);
Yii
::
beginProfile
(
$method
.
' '
.
$this
->
_baseUrl
.
'#'
.
md5
(
serialize
(
$this
->
getOption
(
CURLOPT_POSTFIELDS
))),
__METHOD__
);
}
}
/**
/**
* proceed curl
* proceed curl
...
@@ -517,6 +553,11 @@ class Curl
...
@@ -517,6 +553,11 @@ class Curl
$curlOptions
=
$this
->
getOptions
();
$curlOptions
=
$this
->
getOptions
();
$this
->
curl
=
curl_init
(
$this
->
getUrl
());
$this
->
curl
=
curl_init
(
$this
->
getUrl
());
curl_setopt_array
(
$this
->
curl
,
$curlOptions
);
curl_setopt_array
(
$this
->
curl
,
$curlOptions
);
if
(
true
==
$this
->
timeout_ms
&&
true
==
$this
->
connect_timeout_ms
)
{
curl_setopt
(
$this
->
curl
,
CURLOPT_TIMEOUT_MS
,
$this
->
timeout_ms
);
curl_setopt
(
$this
->
curl
,
CURLOPT_CONNECTTIMEOUT
,
$this
->
timeout_ms
);
curl_setopt
(
$this
->
curl
,
CURLOPT_CONNECTTIMEOUT_MS
,
$this
->
connect_timeout_ms
);
}
//curl_setopt($this->curl, CURLOPT_TIMEOUT,40);
//curl_setopt($this->curl, CURLOPT_TIMEOUT,40);
$response
=
curl_exec
(
$this
->
curl
);
$response
=
curl_exec
(
$this
->
curl
);
//check if curl was successful
//check if curl was successful
...
@@ -547,7 +588,7 @@ class Curl
...
@@ -547,7 +588,7 @@ class Curl
$this
->
_extractAdditionalCurlParameter
();
$this
->
_extractAdditionalCurlParameter
();
//end yii debug profile
//end yii debug profile
if
(
YII_DEBUG
)
{
if
(
YII_DEBUG
)
{
Yii
::
endProfile
(
$method
.
' '
.
$this
->
getUrl
()
.
'#'
.
md5
(
serialize
(
$this
->
getOption
(
CURLOPT_POSTFIELDS
))),
__METHOD__
);
Yii
::
endProfile
(
$method
.
' '
.
$this
->
getUrl
()
.
'#'
.
md5
(
serialize
(
$this
->
getOption
(
CURLOPT_POSTFIELDS
))),
__METHOD__
);
}
}
//check responseCode and return data/status
//check responseCode and return data/status
if
(
$this
->
getOption
(
CURLOPT_CUSTOMREQUEST
)
===
'HEAD'
)
{
if
(
$this
->
getOption
(
CURLOPT_CUSTOMREQUEST
)
===
'HEAD'
)
{
...
@@ -557,10 +598,11 @@ class Curl
...
@@ -557,10 +598,11 @@ class Curl
return
$this
->
response
;
return
$this
->
response
;
}
}
}
}
/**
/**
* Extract additional curl params protected class helper
* Extract additional curl params protected class helper
*/
*/
protected
function
_extractAdditionalCurlParameter
()
protected
function
_extractAdditionalCurlParameter
()
{
{
/**
/**
* retrieve response code
* retrieve response code
...
@@ -581,27 +623,29 @@ class Curl
...
@@ -581,27 +623,29 @@ class Curl
* try extract response length
* try extract response length
*/
*/
$this
->
responseLength
=
curl_getinfo
(
$this
->
curl
,
CURLINFO_CONTENT_LENGTH_DOWNLOAD
);
$this
->
responseLength
=
curl_getinfo
(
$this
->
curl
,
CURLINFO_CONTENT_LENGTH_DOWNLOAD
);
if
((
int
)
$this
->
responseLength
==
-
1
)
{
if
((
int
)
$this
->
responseLength
==
-
1
)
{
$this
->
responseLength
=
strlen
(
$this
->
response
);
$this
->
responseLength
=
strlen
(
$this
->
response
);
}
}
}
}
/**
/**
* Extract body curl data from response
* Extract body curl data from response
*
*
* @param string $response
* @param string $response
* @return string
* @return string
*/
*/
protected
function
_extractCurlBody
(
$response
)
protected
function
_extractCurlBody
(
$response
)
{
{
return
substr
(
$response
,
$this
->
getInfo
(
CURLINFO_HEADER_SIZE
));
return
substr
(
$response
,
$this
->
getInfo
(
CURLINFO_HEADER_SIZE
));
}
}
/**
/**
* Extract header curl data from response
* Extract header curl data from response
*
*
* @param string $response
* @param string $response
* @return array
* @return array
*/
*/
protected
function
_extractCurlHeaders
(
$response
)
protected
function
_extractCurlHeaders
(
$response
)
{
{
//Init
//Init
$headers
=
[];
$headers
=
[];
...
...
common/service/chain33/Chain33Service.php
View file @
bd210511
...
@@ -20,7 +20,7 @@ class Chain33Service
...
@@ -20,7 +20,7 @@ class Chain33Service
public
function
__construct
(
$parameter
=
[])
public
function
__construct
(
$parameter
=
[])
{
{
if
(
empty
(
$parameter
))
{
if
(
empty
(
$parameter
))
{
$this
->
node_params
=
Yii
::
$app
->
params
[
'chain33'
];
$this
->
node_params
=
Yii
::
$app
->
params
[
'chain33'
];
}
else
{
}
else
{
$this
->
node_params
=
$parameter
;
$this
->
node_params
=
$parameter
;
...
@@ -56,7 +56,11 @@ class Chain33Service
...
@@ -56,7 +56,11 @@ class Chain33Service
public
function
send
(
$params
=
[],
$method
=
'Chain33.Query'
)
public
function
send
(
$params
=
[],
$method
=
'Chain33.Query'
)
{
{
$ch
=
new
Curl
();
$timeout
=
[
'connect_timeout'
=>
50000
,
'timeout_ms'
=>
40000
];
$ch
=
new
Curl
(
$timeout
);
$jsonrpc
=
self
::
jsonRpcBuild
(
$params
,
$method
);
$jsonrpc
=
self
::
jsonRpcBuild
(
$params
,
$method
);
$ch
->
setHeader
(
'Content-Type'
,
'application/json'
);
$ch
->
setHeader
(
'Content-Type'
,
'application/json'
);
$ch
->
setRawPostData
(
$jsonrpc
);
$ch
->
setRawPostData
(
$jsonrpc
);
...
@@ -203,7 +207,7 @@ class Chain33Service
...
@@ -203,7 +207,7 @@ class Chain33Service
return
$this
->
send
(
$params
,
'Chain33.CreateRawTransaction'
);
return
$this
->
send
(
$params
,
'Chain33.CreateRawTransaction'
);
}
}
public
function
createRawTransaction
(
$to
,
$amount
,
$fee
,
$note
,
$execer
)
public
function
createRawTransaction
(
$to
,
$amount
,
$fee
,
$note
,
$execer
)
{
{
$params
=
[
$params
=
[
"to"
=>
$to
,
"to"
=>
$to
,
...
...
console/controllers/CrossChainController.php
View file @
bd210511
...
@@ -51,7 +51,6 @@ class CrossChainController extends Controller
...
@@ -51,7 +51,6 @@ class CrossChainController extends Controller
'scheme'
=>
$transfer_url
[
0
],
'scheme'
=>
$transfer_url
[
0
],
'host'
=>
str_replace
(
'//'
,
''
,
$transfer_url
[
1
]),
'host'
=>
str_replace
(
'//'
,
''
,
$transfer_url
[
1
]),
'port'
=>
isset
(
$transfer_url
[
2
])
?
$transfer_url
[
2
]
:
''
,
'port'
=>
isset
(
$transfer_url
[
2
])
?
$transfer_url
[
2
]
:
''
,
'timeout'
=>
100
];
];
$service
=
new
Chain33Service
(
$node_params
);
$service
=
new
Chain33Service
(
$node_params
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment