original_string: 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;
      }
code: 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;
      }
code_tokens: 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 ; }
docstring: 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
docstring_tokens: Creates a default handler stack that can be used by clients .