9 use Zend\Uri\UriFactory;
37 $httpRequest->getHeader(
'Authorization'),
39 $httpRequest->getContent(),
53 return $httpRequest->getScheme() .
'://' . $httpRequest->getHttpHost(
false) . $httpRequest->getRequestUri();
76 protected function _processRequest($authHeaderValue, $contentTypeHeader, $requestBodyString, $requestUrl)
85 $protocolParamsNotSet = !$protocolParams;
87 parse_str($requestBodyString, $protocolBodyParams);
89 foreach ($protocolBodyParams as $bodyParamName => $bodyParamValue) {
91 $protocolParams[$bodyParamName] = $bodyParamValue;
92 }
elseif ($protocolParamsNotSet) {
93 $protocolParams[$bodyParamName] = $bodyParamValue;
97 $protocolParamsNotSet = !$protocolParams;
99 $queryString = UriFactory::factory($requestUrl)->getQuery();
102 if ($protocolParamsNotSet) {
107 return $protocolParams;
119 if (is_array($queryString)) {
120 foreach ($queryString as $queryParamName => $queryParamValue) {
122 $protocolParams[$queryParamName] = $queryParamValue;
136 return (
bool)preg_match(
'/oauth_[a-z_-]+/', $attrName);
148 $oauthValuePosition = stripos(($authHeaderValue ? $authHeaderValue :
''),
'oauth ');
149 if ($authHeaderValue && $oauthValuePosition !==
false) {
151 $authHeaderValue = substr($authHeaderValue, $oauthValuePosition + 6);
152 foreach (explode(
',', $authHeaderValue) as $paramStr) {
153 $nameAndValue = explode(
'=', trim($paramStr), 2);
155 if (count($nameAndValue) < 2) {
159 $protocolParams[rawurldecode($nameAndValue[0])] = rawurldecode(trim($nameAndValue[1],
'"'));
177 foreach (explode(
'&', $queryString) as $paramToValue) {
178 $paramData = explode(
'=', $paramToValue);
181 $protocolParams[rawurldecode($paramData[0])] = rawurldecode($paramData[1]);
198 $errorMsg = $exception->getMessage();
204 if ($errorMsg ==
'One or more input exceptions have occurred.') {
205 $errorMsg = $exception->getAggregatedErrorMessage();
208 $errorMsg =
'internal_error&message=' . ($errorMsg ? $errorMsg :
'empty_message');
212 $response->setHttpResponseCode($responseCode);
213 return [
'oauth_problem' => $errorMsg];
_processHeader($authHeaderValue, &$protocolParams)
elseif(isset( $params[ 'redirect_parent']))
_isProtocolParameter($attrName)
_fetchProtocolParamsFromQuery(&$protocolParams, $queryString)
_processRequest($authHeaderValue, $contentTypeHeader, $requestBodyString, $requestUrl)
prepareRequest($httpRequest)
const HTTP_INTERNAL_ERROR
const HTTP_METHOD_NOT_ALLOWED
getRequestUrl($httpRequest)
prepareErrorResponse(\Exception $exception, \Magento\Framework\HTTP\PhpEnvironment\Response $response=null)
_extractQueryStringParams(&$protocolParams, $queryString)