summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-crt-php/src/AWS/CRT/HTTP/Request.php
blob: 9b4f07c4e2e46ab5df4d81ce382bab00b37f35a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
namespace AWS\CRT\HTTP;

use AWS\CRT\IO\InputStream;

class Request extends Message {
    private $body_stream = null;

    public function __construct($method, $path, $query = [], $headers = [], $body_stream = null) {
        parent::__construct($method, $path, $query, $headers);
        if (!is_null($body_stream) && !($body_stream instanceof InputStream)) {
            throw InvalidArgumentException('body_stream must be an instance of ' . InputStream::class);
        }
        $this->body_stream = $body_stream;
    }

    public static function marshall($request) {
        return parent::marshall($request);
    }

    public static function unmarshall($buf) {
        return parent::_unmarshall($buf, Request::class);
    }

    public function body_stream() {
        return $this->body_stream;
    }
}