yii\httpclient\Request::setData PHP Method

setData() public method

public setData ( $data )
    public function setData($data)
    {
        if ($this->isPrepared) {
            $this->setContent(null);
            $this->isPrepared = false;
        }
        return parent::setData($data);
    }

Usage Example

Beispiel #1
0
 /**
  * Sign given request with [[signatureMethod]].
  * @param \yii\httpclient\Request $request request instance.
  * @param OAuthToken|null $token OAuth token to be used for signature, if not set [[accessToken]] will be used.
  * @since 2.1 this method is public.
  */
 public function signRequest($request, $token = null)
 {
     $params = $request->getData();
     if (isset($params['oauth_signature_method'])) {
         // avoid double sign of request
         return;
     }
     if (empty($params)) {
         $params = $this->generateCommonRequestParams();
     } else {
         $params = array_merge($this->generateCommonRequestParams(), $params);
     }
     $url = $request->getFullUrl();
     $signatureMethod = $this->getSignatureMethod();
     $params['oauth_signature_method'] = $signatureMethod->getName();
     $signatureBaseString = $this->composeSignatureBaseString($request->getMethod(), $url, $params);
     $signatureKey = $this->composeSignatureKey($token);
     $params['oauth_signature'] = $signatureMethod->generateSignature($signatureBaseString, $signatureKey);
     $request->setData($params);
     if ($this->authorizationHeaderMethods === null || in_array(strtoupper($request->getMethod()), array_map('strtoupper', $this->authorizationHeaderMethods), true)) {
         $authorizationHeader = $this->composeAuthorizationHeader($params);
         if (!empty($authorizationHeader)) {
             $request->addHeaders($authorizationHeader);
         }
     }
 }