/**
  * @param  FormUpload $image
  * @param  int        $expire
  *
  * @return FormRequest
  */
 private function buildRequest($image, $expire)
 {
     $request = new FormRequest();
     $request->fromUrl(self::REQUEST_URL);
     $request->setField('uploadedfile', $image);
     $request->setField('expire', $expire);
     $request->setField('upload', 1);
     return $request;
 }
예제 #2
0
 private function doRealRequest($url, array $options)
 {
     $request = new FormRequest(Request::METHOD_POST);
     $request->fromUrl($url);
     $request->setFields($options);
     $response = new Response();
     $client = new FileGetContents();
     $client->send($request, $response);
     return $response->getContent();
 }
예제 #3
0
파일: Api.php 프로젝트: Studio-40/Payum
 /**
  * @param array $notification
  * 
  * @return string
  */
 public function notifyValidate(array $notification)
 {
     $request = new FormRequest();
     $request->setField('cmd', self::CMD_NOTIFY_VALIDATE);
     $request->addFields($notification);
     $request->setMethod('POST');
     $request->fromUrl($this->getIpnEndpoint());
     $response = new Response();
     $this->client->send($request, $response);
     if (false == $response->isSuccessful()) {
         throw HttpException::factory($request, $response);
     }
     if (self::NOTIFY_VERIFIED === $response->getContent()) {
         return self::NOTIFY_VERIFIED;
     }
     return self::NOTIFY_INVALID;
 }
예제 #4
0
 public function doSendRequest(array $options)
 {
     $request = new FormRequest(Request::METHOD_POST);
     $request->fromUrl(static::HTTP_AccessPoint_Send);
     $request->setFields(array('json' => json_encode($options)));
     $response = new Response();
     $client = new FileGetContents();
     $client->send($request, $response);
     $json = $response->getContent();
     $status = json_decode($json, true);
     if (!isset($status[static::Error_Code])) {
         throw new InvalidResponseException('JSON response does not contain response code');
     }
     $normalized_status = $status;
     $normalized_status[self::NORMALIZED_MESSAGE] = $status[self::Error_Message];
     $normalized_status[self::NORMALIZED_CODE] = $status[self::Error_Code];
     return $normalized_status;
 }
예제 #5
0
 /**
  * Executes a http request.
  *
  * @param Request $request The http request.
  *
  * @return Response The http response.
  */
 public function execute(Request $request)
 {
     $method = $request->getMethod();
     $endpoint = $request->getEndpoint();
     $params = $request->getParams();
     $headers = $request->getHeaders();
     try {
         if ($method === 'GET') {
             $buzzResponse = $this->client->call($endpoint . '?' . http_build_query($params), $method, $headers, array());
         } else {
             $buzzRequest = new FormRequest();
             $buzzRequest->fromUrl($endpoint);
             $buzzRequest->setMethod($method);
             $buzzRequest->setHeaders($headers);
             foreach ($params as $key => $value) {
                 if ($value instanceof Image) {
                     $value = new FormUpload($value->getData());
                 }
                 $buzzRequest->setField($key, $value);
             }
             $buzzResponse = new BuzzResponse();
             $this->client->send($buzzRequest, $buzzResponse);
         }
     } catch (RequestException $e) {
         throw new Exception($e->getMessage());
     }
     return static::convertResponse($request, $buzzResponse);
 }
예제 #6
0
 /**
  * @param FormRequest $request
  *
  * @throws HttpException
  *
  * @return array
  */
 protected function doRequest(FormRequest $request)
 {
     $request->setMethod('POST');
     $request->fromUrl($this->getApiEndpoint());
     $this->client->send($request, $response = new Response());
     if (false == $response->isSuccessful()) {
         throw HttpException::factory($request, $response);
     }
     $result = array();
     parse_str($response->getContent(), $result);
     foreach ($result as &$value) {
         $value = urldecode($value);
     }
     return $result;
 }
 /**
  * @dataProvider provideClient
  */
 public function testPlus($client)
 {
     $request = new FormRequest();
     $request->fromUrl($_SERVER['TEST_SERVER']);
     $request->setField('math', '1+1=2');
     $response = $this->send($client, $request);
     $data = json_decode($response->getContent(), true);
     parse_str($data['INPUT'], $fields);
     $this->assertEquals(array('math' => '1+1=2'), $fields);
 }
예제 #8
0
    /**
     * @param \Buzz\Message\Form\FormRequest $request
     *
     * @throws \Payum\Core\Exception\Http\HttpException
     *
     * @return \Payum\Core\Bridge\Buzz\JsonResponse
     */
    protected function doRequest(FormRequest $request)
    {
        $request->setMethod('POST');
        $request->fromUrl($this->getApiEndpoint());

        $this->client->send($request, $response = new JsonResponse());

        if (false == $response->isSuccessful()) {
            throw HttpException::factory($request, $response);
        }

        return $response;
    }