public static function emitBefore(TransactionInterface $transaction)
    {
        $request = $transaction->getRequest();
        try {
            $request->getEmitter()->emit(
                'before',
                new BeforeEvent($transaction)
            );
        } catch (RequestException $e) {
            // When a RequestException has been emitted through emitError, the
            // exception is marked as "emitted". This means that the exception
            // had a chance to be rescued but was not. In this case, this method
            // must not emit the error again, but rather throw the exception.
            // This prevents RequestExceptions encountered during the before
            // event from being emitted to listeners twice.
            if ($e->emittedError()) {
                throw $e;
            }
            self::emitError($transaction, $e);
        } catch (\Exception $e) {
            self::emitError($transaction, $e);
        }
    }
public static function emitBefore(TransactionInterface $transaction)
    {
        $request = $transaction->getRequest();
        try {
            $request->getEmitter()->emit(
                'before',
                new BeforeEvent($transaction)
            );
        } catch (RequestException $e) {
            // When a RequestException has been emitted through emitError, the
            // exception is marked as "emitted". This means that the exception
            // had a chance to be rescued but was not. In this case, this method
            // must not emit the error again, but rather throw the exception.
            // This prevents RequestExceptions encountered during the before
            // event from being emitted to listeners twice.
            if ($e->emittedError()) {
                throw $e;
            }
            self::emitError($transaction, $e);
        } catch (\Exception $e) {
            self::emitError($transaction, $e);
        }
    }
public static function emitBefore ( TransactionInterface $ transaction ) { $ request = $ transaction -> getRequest ( ) ; try { $ request -> getEmitter ( ) -> emit ( 'before' , new BeforeEvent ( $ transaction ) ) ; } catch ( RequestException $ e ) { // When a RequestException has been emitted through emitError, the // exception is marked as "emitted". This means that the exception // had a chance to be rescued but was not. In this case, this method // must not emit the error again, but rather throw the exception. // This prevents RequestExceptions encountered during the before // event from being emitted to listeners twice. if ( $ e -> emittedError ( ) ) { throw $ e ; } self :: emitError ( $ transaction , $ e ) ; } catch ( \ Exception $ e ) { self :: emitError ( $ transaction , $ e ) ; } }
Emits the before send event for a request and emits an error
event if an error is encountered during the before send.

@param TransactionInterface $transaction

@throws RequestException
Emits the before send event for a request and emits an error event if an error is encountered during the before send .