Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PrepareBodyMiddleware.php

function PrepareBodyMiddleware::addExpectHeader

Add expect header

1 call to PrepareBodyMiddleware::addExpectHeader()
PrepareBodyMiddleware::__invoke in vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php

File

vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php, line 70

Class

PrepareBodyMiddleware
Prepares requests that contain a body, adding the Content-Length, Content-Type, and Expect headers.

Namespace

GuzzleHttp

Code

private function addExpectHeader(RequestInterface $request, array $options, array &$modify) : void {
    // Determine if the Expect header should be used
    if ($request->hasHeader('Expect')) {
        return;
    }
    $expect = $options['expect'] ?? null;
    // Return if disabled or using HTTP/1.0
    if ($expect === false || $request->getProtocolVersion() === '1.0') {
        return;
    }
    // The expect header is unconditionally enabled
    if ($expect === true) {
        $modify['set_headers']['Expect'] = '100-Continue';
        return;
    }
    // By default, send the expect header when the payload is > 1mb
    if ($expect === null) {
        $expect = 1048576;
    }
    // Always add if the body cannot be rewound, the size cannot be
    // determined, or the size is greater than the cutoff threshold
    $body = $request->getBody();
    $size = $body->getSize();
    if ($size === null || $size >= (int) $expect || !$body->isSeekable()) {
        $modify['set_headers']['Expect'] = '100-Continue';
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal