/
home
/
obinna
/
html
/
mixchief_app
/
vendor
/
aws
/
aws-crt-php
/
src
/
AWS
/
CRT
/
Auth
/
Upload File
HOME
<?php /** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ namespace AWS\CRT\Auth; use AWS\CRT\IO\InputStream; use AWS\CRT\NativeResource as NativeResource; class Signable extends NativeResource { public static function fromHttpRequest($http_message) { return new Signable(function() use ($http_message) { return self::$crt->signable_new_from_http_request($http_message->native); }); } public static function fromChunk($chunk_stream, $previous_signature="") { if (!($chunk_stream instanceof InputStream)) { $chunk_stream = new InputStream($chunk_stream); } return new Signable(function() use($chunk_stream, $previous_signature) { return self::$crt->signable_new_from_chunk($chunk_stream->native, $previous_signature); }); } public static function fromCanonicalRequest($canonical_request) { return new Signable(function() use($canonical_request) { return self::$crt->signable_new_from_canonical_request($canonical_request); }); } protected function __construct($ctor) { parent::__construct(); $this->acquire($ctor()); } function __destruct() { self::$crt->signable_release($this->release()); parent::__destruct(); } }