public static function create(callable $handler = null)
    {
        $stack = new self($handler ?: choose_handler());
        $stack->push(Middleware::httpErrors(), 'http_errors');
        $stack->push(Middleware::redirect(), 'allow_redirects');
        $stack->push(Middleware::cookies(), 'cookies');
        $stack->push(Middleware::prepareBody(), 'prepare_body');

        return $stack;
    }
public static function create(callable $handler = null)
    {
        $stack = new self($handler ?: choose_handler());
        $stack->push(Middleware::httpErrors(), 'http_errors');
        $stack->push(Middleware::redirect(), 'allow_redirects');
        $stack->push(Middleware::cookies(), 'cookies');
        $stack->push(Middleware::prepareBody(), 'prepare_body');

        return $stack;
    }
public static function create ( callable $ handler = null ) { $ stack = new self ( $ handler ? : choose_handler ( ) ) ; $ stack -> push ( Middleware :: httpErrors ( ) , 'http_errors' ) ; $ stack -> push ( Middleware :: redirect ( ) , 'allow_redirects' ) ; $ stack -> push ( Middleware :: cookies ( ) , 'cookies' ) ; $ stack -> push ( Middleware :: prepareBody ( ) , 'prepare_body' ) ; return $ stack ; }
Creates a default handler stack that can be used by clients.

The returned handler will wrap the provided handler or use the most
appropriate default handler for your system. The returned HandlerStack has
support for cookies, redirects, HTTP error exceptions, and preparing a body
before sending.

The returned handler stack can be passed to a client in the "handler"
option.

@param callable $handler HTTP handler function to use with the stack. If no
handler is provided, the best handler for your
system will be utilized.

@return HandlerStack
Creates a default handler stack that can be used by clients .