public function send($request)
    {
        $this->handle->init();

        $this->handle->setOption(CURLOPT_URL, $request->getURL());
        $this->handle->setOption(CURLOPT_HTTPHEADER, $request->getHeaders());
        $this->handle->setOption(CURLOPT_RETURNTRANSFER, true);
        $this->handle->setOption(CURLOPT_CONNECTTIMEOUT, $this->getTimeout());
        $this->handle->setOption(CURLOPT_TIMEOUT, $this->getTimeout());
        $this->handle->setOption(CURLOPT_SSL_VERIFYHOST, 2);
        $this->handle->setOption(CURLOPT_SSL_VERIFYPEER, true);

        $data = $this->handle->execute();
        $info = $this->handle->getInfo();
        $error = $this->handle->getError();

        $this->handle->close();

        /*
         * A failure occurred if:
         * payload is false (e.g. HTTP timeout?).
         * info is false, then it has no HTTP status code.
         */
        if (strlen($error) > 0) {
            throw new KlarnaException(
                "Connection failed with error: {$error}"
            );
        }

        return $request->createResponse(intval($info['http_code']), $data);
    }
public function send($request)
    {
        $this->handle->init();

        $this->handle->setOption(CURLOPT_URL, $request->getURL());
        $this->handle->setOption(CURLOPT_HTTPHEADER, $request->getHeaders());
        $this->handle->setOption(CURLOPT_RETURNTRANSFER, true);
        $this->handle->setOption(CURLOPT_CONNECTTIMEOUT, $this->getTimeout());
        $this->handle->setOption(CURLOPT_TIMEOUT, $this->getTimeout());
        $this->handle->setOption(CURLOPT_SSL_VERIFYHOST, 2);
        $this->handle->setOption(CURLOPT_SSL_VERIFYPEER, true);

        $data = $this->handle->execute();
        $info = $this->handle->getInfo();
        $error = $this->handle->getError();

        $this->handle->close();

        /*
         * A failure occurred if:
         * payload is false (e.g. HTTP timeout?).
         * info is false, then it has no HTTP status code.
         */
        if (strlen($error) > 0) {
            throw new KlarnaException(
                "Connection failed with error: {$error}"
            );
        }

        return $request->createResponse(intval($info['http_code']), $data);
    }
public function send ( $ request ) { $ this -> handle -> init ( ) ; $ this -> handle -> setOption ( CURLOPT_URL , $ request -> getURL ( ) ) ; $ this -> handle -> setOption ( CURLOPT_HTTPHEADER , $ request -> getHeaders ( ) ) ; $ this -> handle -> setOption ( CURLOPT_RETURNTRANSFER , true ) ; $ this -> handle -> setOption ( CURLOPT_CONNECTTIMEOUT , $ this -> getTimeout ( ) ) ; $ this -> handle -> setOption ( CURLOPT_TIMEOUT , $ this -> getTimeout ( ) ) ; $ this -> handle -> setOption ( CURLOPT_SSL_VERIFYHOST , 2 ) ; $ this -> handle -> setOption ( CURLOPT_SSL_VERIFYPEER , true ) ; $ data = $ this -> handle -> execute ( ) ; $ info = $ this -> handle -> getInfo ( ) ; $ error = $ this -> handle -> getError ( ) ; $ this -> handle -> close ( ) ; /*
         * A failure occurred if:
         * payload is false (e.g. HTTP timeout?).
         * info is false, then it has no HTTP status code.
         */ if ( strlen ( $ error ) > 0 ) { throw new KlarnaException ( "Connection failed with error: {$error}" ) ; } return $ request -> createResponse ( intval ( $ info [ 'http_code' ] ) , $ data ) ; }
Send a request object

@param object $request The request to send

@throws KlarnaException For e.g. a timeout

@return object A response to the request sent
Send a request object