mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 01:39:24 +02:00
Moving composer into vendor folder
This commit is contained in:
parent
cecf7f4410
commit
7177553cc6
20944 changed files with 2880753 additions and 2880753 deletions
6
vendor/abraham/twitteroauth/.prettierignore
vendored
6
vendor/abraham/twitteroauth/.prettierignore
vendored
|
@ -1,3 +1,3 @@
|
||||||
vendor
|
vendor
|
||||||
composer.lock
|
composer.lock
|
||||||
tests/fixtures
|
tests/fixtures
|
||||||
|
|
12
vendor/abraham/twitteroauth/.prettierrc.json
vendored
12
vendor/abraham/twitteroauth/.prettierrc.json
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"singleQuote": true,
|
"singleQuote": true,
|
||||||
"phpVersion": "7.2",
|
"phpVersion": "7.2",
|
||||||
"trailingCommaPHP": true,
|
"trailingCommaPHP": true,
|
||||||
"braceStyle": "psr-2"
|
"braceStyle": "psr-2"
|
||||||
}
|
}
|
||||||
|
|
92
vendor/abraham/twitteroauth/CODE_OF_CONDUCT.md
vendored
92
vendor/abraham/twitteroauth/CODE_OF_CONDUCT.md
vendored
|
@ -1,46 +1,46 @@
|
||||||
# Contributor Covenant Code of Conduct
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
## Our Pledge
|
## Our Pledge
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||||
|
|
||||||
## Our Standards
|
## Our Standards
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment include:
|
Examples of behavior that contributes to creating a positive environment include:
|
||||||
|
|
||||||
- Using welcoming and inclusive language
|
- Using welcoming and inclusive language
|
||||||
- Being respectful of differing viewpoints and experiences
|
- Being respectful of differing viewpoints and experiences
|
||||||
- Gracefully accepting constructive criticism
|
- Gracefully accepting constructive criticism
|
||||||
- Focusing on what is best for the community
|
- Focusing on what is best for the community
|
||||||
- Showing empathy towards other community members
|
- Showing empathy towards other community members
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
- The use of sexualized language or imagery and unwelcome sexual attention or advances
|
- The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||||
- Trolling, insulting/derogatory comments, and personal or political attacks
|
- Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
- Public or private harassment
|
- Public or private harassment
|
||||||
- Publishing others' private information, such as a physical or electronic address, without explicit permission
|
- Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||||
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||||
|
|
||||||
## Our Responsibilities
|
## Our Responsibilities
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||||
|
|
||||||
## Enforcement
|
## Enforcement
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at abraham@abrah.am. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at abraham@abrah.am. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||||
|
|
||||||
## Attribution
|
## Attribution
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
[homepage]: http://contributor-covenant.org
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
[version]: http://contributor-covenant.org/version/1/4/
|
||||||
|
|
42
vendor/abraham/twitteroauth/CONTRIBUTING.md
vendored
42
vendor/abraham/twitteroauth/CONTRIBUTING.md
vendored
|
@ -1,21 +1,21 @@
|
||||||
# Contributing to TwitterOAuth
|
# Contributing to TwitterOAuth
|
||||||
|
|
||||||
## 👏 Thanks!
|
## 👏 Thanks!
|
||||||
|
|
||||||
Thanks for your interest in contributing to TwitterOAuth. We appreciate contributions small and large.
|
Thanks for your interest in contributing to TwitterOAuth. We appreciate contributions small and large.
|
||||||
|
|
||||||
## 🌱 Grow
|
## 🌱 Grow
|
||||||
|
|
||||||
If you have an idea for something new or would like to improve something. Please [open a quick issue](https://github.com/abraham/twitteroauth/issues/new) explaining the changes and the reasons for them. Everyone's time is important and we don't want you duplicating work someone else might already be working on.
|
If you have an idea for something new or would like to improve something. Please [open a quick issue](https://github.com/abraham/twitteroauth/issues/new) explaining the changes and the reasons for them. Everyone's time is important and we don't want you duplicating work someone else might already be working on.
|
||||||
|
|
||||||
GitHub has [outlined instructions](https://help.github.com/articles/fork-a-repo/) for forking a repo. To work on an update to this repo, you will:
|
GitHub has [outlined instructions](https://help.github.com/articles/fork-a-repo/) for forking a repo. To work on an update to this repo, you will:
|
||||||
|
|
||||||
- Fork the repo
|
- Fork the repo
|
||||||
- Make the changes
|
- Make the changes
|
||||||
- Submit a pull request
|
- Submit a pull request
|
||||||
|
|
||||||
Once the [pull request](https://help.github.com/articles/about-pull-requests/) is reviewed, if the changes are approved they will be merged in to the project.
|
Once the [pull request](https://help.github.com/articles/about-pull-requests/) is reviewed, if the changes are approved they will be merged in to the project.
|
||||||
|
|
||||||
## 🐛 Bugs
|
## 🐛 Bugs
|
||||||
|
|
||||||
Please [open a new issue](https://github.com/abraham/twitteroauth/issues/new) and details what you are trying to do, what is happening, and what you expect to happen. Err on the side of providing more details.
|
Please [open a new issue](https://github.com/abraham/twitteroauth/issues/new) and details what you are trying to do, what is happening, and what you expect to happen. Err on the side of providing more details.
|
||||||
|
|
44
vendor/abraham/twitteroauth/LICENSE.md
vendored
44
vendor/abraham/twitteroauth/LICENSE.md
vendored
|
@ -1,22 +1,22 @@
|
||||||
Copyright (c) 2009 Abraham Williams - http://abrah.am - abraham@abrah.am
|
Copyright (c) 2009 Abraham Williams - http://abrah.am - abraham@abrah.am
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
Permission is hereby granted, free of charge, to any person
|
||||||
obtaining a copy of this software and associated documentation
|
obtaining a copy of this software and associated documentation
|
||||||
files (the "Software"), to deal in the Software without
|
files (the "Software"), to deal in the Software without
|
||||||
restriction, including without limitation the rights to use,
|
restriction, including without limitation the rights to use,
|
||||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
copies of the Software, and to permit persons to whom the
|
copies of the Software, and to permit persons to whom the
|
||||||
Software is furnished to do so, subject to the following
|
Software is furnished to do so, subject to the following
|
||||||
conditions:
|
conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
The above copyright notice and this permission notice shall be
|
||||||
included in all copies or substantial portions of the Software.
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
22
vendor/abraham/twitteroauth/README.md
vendored
22
vendor/abraham/twitteroauth/README.md
vendored
|
@ -1,11 +1,11 @@
|
||||||
<span itemprop="name">TwitterOAuth</span> [](https://github.com/abraham/twitteroauth/actions) [](https://scrutinizer-ci.com/g/abraham/twitteroauth/?branch=master) [](https://github.com/abraham/twitteroauth/issues) [](https://packagist.org/packages/abraham/twitteroauth) [](https://packagist.org/packages/abraham/twitteroauth)
|
<span itemprop="name">TwitterOAuth</span> [](https://github.com/abraham/twitteroauth/actions) [](https://scrutinizer-ci.com/g/abraham/twitteroauth/?branch=master) [](https://github.com/abraham/twitteroauth/issues) [](https://packagist.org/packages/abraham/twitteroauth) [](https://packagist.org/packages/abraham/twitteroauth)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<p itemprop="description">The most popular PHP library for Twitter's OAuth REST API.</p>
|
<p itemprop="description">The most popular PHP library for Twitter's OAuth REST API.</p>
|
||||||
|
|
||||||
See documentation at https://twitteroauth.com.
|
See documentation at https://twitteroauth.com.
|
||||||
|
|
||||||
PHP versions [listed](https://secure.php.net/supported-versions.php) as "active support" or "security fixes only" are supported.
|
PHP versions [listed](https://secure.php.net/supported-versions.php) as "active support" or "security fixes only" are supported.
|
||||||
|
|
||||||
<img src="https://raw.githubusercontent.com/abraham/twitteroauth-com/master/images/twitter-logo-blue.png" itemprop="image" alt="Twitter bird" width="200px">
|
<img src="https://raw.githubusercontent.com/abraham/twitteroauth-com/master/images/twitter-logo-blue.png" itemprop="image" alt="Twitter bird" width="200px">
|
||||||
|
|
70
vendor/abraham/twitteroauth/autoload.php
vendored
70
vendor/abraham/twitteroauth/autoload.php
vendored
|
@ -1,35 +1,35 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use to autoload needed classes without Composer.
|
* Use to autoload needed classes without Composer.
|
||||||
*
|
*
|
||||||
* @param string $class The fully-qualified class name.
|
* @param string $class The fully-qualified class name.
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
spl_autoload_register(function ($class) {
|
spl_autoload_register(function ($class) {
|
||||||
// project-specific namespace prefix
|
// project-specific namespace prefix
|
||||||
$prefix = 'Abraham\\TwitterOAuth\\';
|
$prefix = 'Abraham\\TwitterOAuth\\';
|
||||||
|
|
||||||
// base directory for the namespace prefix
|
// base directory for the namespace prefix
|
||||||
$base_dir = __DIR__ . '/src/';
|
$base_dir = __DIR__ . '/src/';
|
||||||
|
|
||||||
// does the class use the namespace prefix?
|
// does the class use the namespace prefix?
|
||||||
$len = strlen($prefix);
|
$len = strlen($prefix);
|
||||||
if (strncmp($prefix, $class, $len) !== 0) {
|
if (strncmp($prefix, $class, $len) !== 0) {
|
||||||
// no, move to the next registered autoloader
|
// no, move to the next registered autoloader
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the relative class name
|
// get the relative class name
|
||||||
$relative_class = substr($class, $len);
|
$relative_class = substr($class, $len);
|
||||||
|
|
||||||
// replace the namespace prefix with the base directory, replace namespace
|
// replace the namespace prefix with the base directory, replace namespace
|
||||||
// separators with directory separators in the relative class name, append
|
// separators with directory separators in the relative class name, append
|
||||||
// with .php
|
// with .php
|
||||||
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
|
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
|
||||||
|
|
||||||
// if the file exists, require it
|
// if the file exists, require it
|
||||||
if (file_exists($file)) {
|
if (file_exists($file)) {
|
||||||
require $file;
|
require $file;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
102
vendor/abraham/twitteroauth/composer.json
vendored
102
vendor/abraham/twitteroauth/composer.json
vendored
|
@ -1,51 +1,51 @@
|
||||||
{
|
{
|
||||||
"name": "abraham/twitteroauth",
|
"name": "abraham/twitteroauth",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"description": "The most popular PHP library for use with the Twitter OAuth REST API.",
|
"description": "The most popular PHP library for use with the Twitter OAuth REST API.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"twitter",
|
"twitter",
|
||||||
"api",
|
"api",
|
||||||
"oauth",
|
"oauth",
|
||||||
"rest",
|
"rest",
|
||||||
"social",
|
"social",
|
||||||
"twitter api",
|
"twitter api",
|
||||||
"twitter oauth"
|
"twitter oauth"
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"homepage": "https://twitteroauth.com",
|
"homepage": "https://twitteroauth.com",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Abraham Williams",
|
"name": "Abraham Williams",
|
||||||
"email": "abraham@abrah.am",
|
"email": "abraham@abrah.am",
|
||||||
"homepage": "https://abrah.am",
|
"homepage": "https://abrah.am",
|
||||||
"role": "Developer"
|
"role": "Developer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/abraham/twitteroauth",
|
"source": "https://github.com/abraham/twitteroauth",
|
||||||
"issues": "https://github.com/abraham/twitteroauth/issues"
|
"issues": "https://github.com/abraham/twitteroauth/issues"
|
||||||
},
|
},
|
||||||
"repositories": [
|
"repositories": [
|
||||||
{
|
{
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/morozov/php-vcr"
|
"url": "https://github.com/morozov/php-vcr"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.2 || ^7.3 || ^7.4",
|
"php": "^7.2 || ^7.3 || ^7.4",
|
||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
"composer/ca-bundle": "^1.2"
|
"composer/ca-bundle": "^1.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^8",
|
"phpunit/phpunit": "^8",
|
||||||
"squizlabs/php_codesniffer": "^3",
|
"squizlabs/php_codesniffer": "^3",
|
||||||
"phpmd/phpmd": "^2",
|
"phpmd/phpmd": "^2",
|
||||||
"php-vcr/php-vcr": "^1",
|
"php-vcr/php-vcr": "^1",
|
||||||
"php-vcr/phpunit-testlistener-vcr": "^3"
|
"php-vcr/phpunit-testlistener-vcr": "^3"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Abraham\\TwitterOAuth\\": "src"
|
"Abraham\\TwitterOAuth\\": "src"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1008
vendor/abraham/twitteroauth/package-lock.json
generated
vendored
1008
vendor/abraham/twitteroauth/package-lock.json
generated
vendored
File diff suppressed because it is too large
Load diff
86
vendor/abraham/twitteroauth/package.json
vendored
86
vendor/abraham/twitteroauth/package.json
vendored
|
@ -1,43 +1,43 @@
|
||||||
{
|
{
|
||||||
"name": "twitteroauth",
|
"name": "twitteroauth",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"description": "The most popular PHP library for use with the Twitter OAuth REST API.",
|
"description": "The most popular PHP library for use with the Twitter OAuth REST API.",
|
||||||
"directories": {
|
"directories": {
|
||||||
"test": "tests"
|
"test": "tests"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@prettier/plugin-php": "^0.14.3",
|
"@prettier/plugin-php": "^0.14.3",
|
||||||
"concurrently": "^5.3.0",
|
"concurrently": "^5.3.0",
|
||||||
"prettier": "^2.1.2"
|
"prettier": "^2.1.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"fix:phpcbf": "./vendor/bin/phpcbf src tests --standard=PSR12",
|
"fix:phpcbf": "./vendor/bin/phpcbf src tests --standard=PSR12",
|
||||||
"fix:prettier": "prettier . --write",
|
"fix:prettier": "prettier . --write",
|
||||||
"fix": "concurrently npm:fix:*",
|
"fix": "concurrently npm:fix:*",
|
||||||
"lint:phpcs": "./vendor/bin/phpcs src tests --standard=PSR12",
|
"lint:phpcs": "./vendor/bin/phpcs src tests --standard=PSR12",
|
||||||
"lint:prettier": "prettier . --check",
|
"lint:prettier": "prettier . --check",
|
||||||
"lint": "concurrently npm:lint:*",
|
"lint": "concurrently npm:lint:*",
|
||||||
"postinstall": "composer install --no-interaction",
|
"postinstall": "composer install --no-interaction",
|
||||||
"test": "./vendor/bin/phpunit"
|
"test": "./vendor/bin/phpunit"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/abraham/twitteroauth.git"
|
"url": "git+https://github.com/abraham/twitteroauth.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"twitter",
|
"twitter",
|
||||||
"api",
|
"api",
|
||||||
"oauth",
|
"oauth",
|
||||||
"rest",
|
"rest",
|
||||||
"social",
|
"social",
|
||||||
"twitter-api",
|
"twitter-api",
|
||||||
"twitter-oauth"
|
"twitter-oauth"
|
||||||
],
|
],
|
||||||
"author": "Abraham Williams <abraham@abrah.am>",
|
"author": "Abraham Williams <abraham@abrah.am>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/abraham/twitteroauth/issues"
|
"url": "https://github.com/abraham/twitteroauth/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/abraham/twitteroauth#readme"
|
"homepage": "https://github.com/abraham/twitteroauth#readme"
|
||||||
}
|
}
|
||||||
|
|
30
vendor/abraham/twitteroauth/phpmd.xml
vendored
30
vendor/abraham/twitteroauth/phpmd.xml
vendored
|
@ -1,15 +1,15 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<ruleset name="My first PHPMD rule set"
|
<ruleset name="My first PHPMD rule set"
|
||||||
xmlns="http://pmd.sf.net/ruleset/1.0.0"
|
xmlns="http://pmd.sf.net/ruleset/1.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
|
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
|
||||||
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
|
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
|
||||||
<description>Keep TwitterOAuth source code clean.</description>
|
<description>Keep TwitterOAuth source code clean.</description>
|
||||||
|
|
||||||
<!-- <rule ref="rulesets/cleancode.xml" /> -->
|
<!-- <rule ref="rulesets/cleancode.xml" /> -->
|
||||||
<rule ref="rulesets/codesize.xml" />
|
<rule ref="rulesets/codesize.xml" />
|
||||||
<rule ref="rulesets/controversial.xml" />
|
<rule ref="rulesets/controversial.xml" />
|
||||||
<rule ref="rulesets/design.xml" />
|
<rule ref="rulesets/design.xml" />
|
||||||
<rule ref="rulesets/naming.xml" />
|
<rule ref="rulesets/naming.xml" />
|
||||||
<rule ref="rulesets/unusedcode.xml" />
|
<rule ref="rulesets/unusedcode.xml" />
|
||||||
</ruleset>
|
</ruleset>
|
||||||
|
|
36
vendor/abraham/twitteroauth/phpunit.xml
vendored
36
vendor/abraham/twitteroauth/phpunit.xml
vendored
|
@ -1,18 +1,18 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<phpunit
|
<phpunit
|
||||||
colors="true"
|
colors="true"
|
||||||
bootstrap="tests/bootstrap.php"
|
bootstrap="tests/bootstrap.php"
|
||||||
testdox="true">
|
testdox="true">
|
||||||
|
|
||||||
<testsuites>
|
<testsuites>
|
||||||
<testsuite name="TwitterOAuth Test Suite">
|
<testsuite name="TwitterOAuth Test Suite">
|
||||||
<directory>./tests/</directory>
|
<directory>./tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
|
|
||||||
<listeners>
|
<listeners>
|
||||||
<listener
|
<listener
|
||||||
class="VCR\PHPUnit\TestListener\VCRTestListener"
|
class="VCR\PHPUnit\TestListener\VCRTestListener"
|
||||||
file="vendor/php-vcr/phpunit-testlistener-vcr/src/VCRTestListener.php" />
|
file="vendor/php-vcr/phpunit-testlistener-vcr/src/VCRTestListener.php" />
|
||||||
</listeners>
|
</listeners>
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|
218
vendor/abraham/twitteroauth/src/Config.php
vendored
218
vendor/abraham/twitteroauth/src/Config.php
vendored
|
@ -1,109 +1,109 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle setting and storing config for TwitterOAuth.
|
* Handle setting and storing config for TwitterOAuth.
|
||||||
*
|
*
|
||||||
* @author Abraham Williams <abraham@abrah.am>
|
* @author Abraham Williams <abraham@abrah.am>
|
||||||
*/
|
*/
|
||||||
class Config
|
class Config
|
||||||
{
|
{
|
||||||
/** @var int How long to wait for a response from the API */
|
/** @var int How long to wait for a response from the API */
|
||||||
protected $timeout = 5;
|
protected $timeout = 5;
|
||||||
/** @var int how long to wait while connecting to the API */
|
/** @var int how long to wait while connecting to the API */
|
||||||
protected $connectionTimeout = 5;
|
protected $connectionTimeout = 5;
|
||||||
/** @var int How many times we retry request when API is down */
|
/** @var int How many times we retry request when API is down */
|
||||||
protected $maxRetries = 0;
|
protected $maxRetries = 0;
|
||||||
/** @var int Delay in seconds before we retry the request */
|
/** @var int Delay in seconds before we retry the request */
|
||||||
protected $retriesDelay = 1;
|
protected $retriesDelay = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decode JSON Response as associative Array
|
* Decode JSON Response as associative Array
|
||||||
*
|
*
|
||||||
* @see http://php.net/manual/en/function.json-decode.php
|
* @see http://php.net/manual/en/function.json-decode.php
|
||||||
*
|
*
|
||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
protected $decodeJsonAsArray = false;
|
protected $decodeJsonAsArray = false;
|
||||||
/** @var string User-Agent header */
|
/** @var string User-Agent header */
|
||||||
protected $userAgent = 'TwitterOAuth (+https://twitteroauth.com)';
|
protected $userAgent = 'TwitterOAuth (+https://twitteroauth.com)';
|
||||||
/** @var array Store proxy connection details */
|
/** @var array Store proxy connection details */
|
||||||
protected $proxy = [];
|
protected $proxy = [];
|
||||||
|
|
||||||
/** @var bool Whether to encode the curl requests with gzip or not */
|
/** @var bool Whether to encode the curl requests with gzip or not */
|
||||||
protected $gzipEncoding = true;
|
protected $gzipEncoding = true;
|
||||||
|
|
||||||
/** @var integer Size for Chunked Uploads */
|
/** @var integer Size for Chunked Uploads */
|
||||||
protected $chunkSize = 250000; // 0.25 MegaByte
|
protected $chunkSize = 250000; // 0.25 MegaByte
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the connection and response timeouts.
|
* Set the connection and response timeouts.
|
||||||
*
|
*
|
||||||
* @param int $connectionTimeout
|
* @param int $connectionTimeout
|
||||||
* @param int $timeout
|
* @param int $timeout
|
||||||
*/
|
*/
|
||||||
public function setTimeouts(int $connectionTimeout, int $timeout): void
|
public function setTimeouts(int $connectionTimeout, int $timeout): void
|
||||||
{
|
{
|
||||||
$this->connectionTimeout = $connectionTimeout;
|
$this->connectionTimeout = $connectionTimeout;
|
||||||
$this->timeout = $timeout;
|
$this->timeout = $timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the number of times to retry on error and how long between each.
|
* Set the number of times to retry on error and how long between each.
|
||||||
*
|
*
|
||||||
* @param int $maxRetries
|
* @param int $maxRetries
|
||||||
* @param int $retriesDelay
|
* @param int $retriesDelay
|
||||||
*/
|
*/
|
||||||
public function setRetries(int $maxRetries, int $retriesDelay): void
|
public function setRetries(int $maxRetries, int $retriesDelay): void
|
||||||
{
|
{
|
||||||
$this->maxRetries = $maxRetries;
|
$this->maxRetries = $maxRetries;
|
||||||
$this->retriesDelay = $retriesDelay;
|
$this->retriesDelay = $retriesDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param bool $value
|
* @param bool $value
|
||||||
*/
|
*/
|
||||||
public function setDecodeJsonAsArray(bool $value): void
|
public function setDecodeJsonAsArray(bool $value): void
|
||||||
{
|
{
|
||||||
$this->decodeJsonAsArray = $value;
|
$this->decodeJsonAsArray = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $userAgent
|
* @param string $userAgent
|
||||||
*/
|
*/
|
||||||
public function setUserAgent(string $userAgent): void
|
public function setUserAgent(string $userAgent): void
|
||||||
{
|
{
|
||||||
$this->userAgent = $userAgent;
|
$this->userAgent = $userAgent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $proxy
|
* @param array $proxy
|
||||||
*/
|
*/
|
||||||
public function setProxy(array $proxy): void
|
public function setProxy(array $proxy): void
|
||||||
{
|
{
|
||||||
$this->proxy = $proxy;
|
$this->proxy = $proxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to encode the curl requests with gzip or not.
|
* Whether to encode the curl requests with gzip or not.
|
||||||
*
|
*
|
||||||
* @param boolean $gzipEncoding
|
* @param boolean $gzipEncoding
|
||||||
*/
|
*/
|
||||||
public function setGzipEncoding(bool $gzipEncoding): void
|
public function setGzipEncoding(bool $gzipEncoding): void
|
||||||
{
|
{
|
||||||
$this->gzipEncoding = $gzipEncoding;
|
$this->gzipEncoding = $gzipEncoding;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the size of each part of file for chunked media upload.
|
* Set the size of each part of file for chunked media upload.
|
||||||
*
|
*
|
||||||
* @param int $value
|
* @param int $value
|
||||||
*/
|
*/
|
||||||
public function setChunkSize(int $value): void
|
public function setChunkSize(int $value): void
|
||||||
{
|
{
|
||||||
$this->chunkSize = $value;
|
$this->chunkSize = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
86
vendor/abraham/twitteroauth/src/Consumer.php
vendored
86
vendor/abraham/twitteroauth/src/Consumer.php
vendored
|
@ -1,43 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MIT License
|
* The MIT License
|
||||||
* Copyright (c) 2007 Andy Smith
|
* Copyright (c) 2007 Andy Smith
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
class Consumer
|
class Consumer
|
||||||
{
|
{
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public $key;
|
public $key;
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public $secret;
|
public $secret;
|
||||||
/** @var string|null */
|
/** @var string|null */
|
||||||
public $callbackUrl;
|
public $callbackUrl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string|null $key
|
* @param string|null $key
|
||||||
* @param string|null $secret
|
* @param string|null $secret
|
||||||
* @param null $callbackUrl
|
* @param null $callbackUrl
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
?string $key,
|
?string $key,
|
||||||
?string $secret,
|
?string $secret,
|
||||||
?string $callbackUrl = null
|
?string $callbackUrl = null
|
||||||
) {
|
) {
|
||||||
$this->key = $key;
|
$this->key = $key;
|
||||||
$this->secret = $secret;
|
$this->secret = $secret;
|
||||||
$this->callbackUrl = $callbackUrl;
|
$this->callbackUrl = $callbackUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function __toString()
|
public function __toString()
|
||||||
{
|
{
|
||||||
return "Consumer[key=$this->key,secret=$this->secret]";
|
return "Consumer[key=$this->key,secret=$this->secret]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
92
vendor/abraham/twitteroauth/src/HmacSha1.php
vendored
92
vendor/abraham/twitteroauth/src/HmacSha1.php
vendored
|
@ -1,46 +1,46 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MIT License
|
* The MIT License
|
||||||
* Copyright (c) 2007 Andy Smith
|
* Copyright (c) 2007 Andy Smith
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104]
|
* The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104]
|
||||||
* where the Signature Base String is the text and the key is the concatenated values (each first
|
* where the Signature Base String is the text and the key is the concatenated values (each first
|
||||||
* encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&'
|
* encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&'
|
||||||
* character (ASCII code 38) even if empty.
|
* character (ASCII code 38) even if empty.
|
||||||
* - Chapter 9.2 ("HMAC-SHA1")
|
* - Chapter 9.2 ("HMAC-SHA1")
|
||||||
*/
|
*/
|
||||||
class HmacSha1 extends SignatureMethod
|
class HmacSha1 extends SignatureMethod
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
public function getName()
|
public function getName()
|
||||||
{
|
{
|
||||||
return 'HMAC-SHA1';
|
return 'HMAC-SHA1';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
public function buildSignature(
|
public function buildSignature(
|
||||||
Request $request,
|
Request $request,
|
||||||
Consumer $consumer,
|
Consumer $consumer,
|
||||||
Token $token = null
|
Token $token = null
|
||||||
): string {
|
): string {
|
||||||
$signatureBase = $request->getSignatureBaseString();
|
$signatureBase = $request->getSignatureBaseString();
|
||||||
|
|
||||||
$parts = [$consumer->secret, null !== $token ? $token->secret : ''];
|
$parts = [$consumer->secret, null !== $token ? $token->secret : ''];
|
||||||
|
|
||||||
$parts = Util::urlencodeRfc3986($parts);
|
$parts = Util::urlencodeRfc3986($parts);
|
||||||
$key = implode('&', $parts);
|
$key = implode('&', $parts);
|
||||||
|
|
||||||
return base64_encode(hash_hmac('sha1', $signatureBase, $key, true));
|
return base64_encode(hash_hmac('sha1', $signatureBase, $key, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
578
vendor/abraham/twitteroauth/src/Request.php
vendored
578
vendor/abraham/twitteroauth/src/Request.php
vendored
|
@ -1,289 +1,289 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MIT License
|
* The MIT License
|
||||||
* Copyright (c) 2007 Andy Smith
|
* Copyright (c) 2007 Andy Smith
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
class Request
|
class Request
|
||||||
{
|
{
|
||||||
protected $parameters;
|
protected $parameters;
|
||||||
protected $httpMethod;
|
protected $httpMethod;
|
||||||
protected $httpUrl;
|
protected $httpUrl;
|
||||||
protected $json;
|
protected $json;
|
||||||
public static $version = '1.0';
|
public static $version = '1.0';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param string $httpMethod
|
* @param string $httpMethod
|
||||||
* @param string $httpUrl
|
* @param string $httpUrl
|
||||||
* @param array|null $parameters
|
* @param array|null $parameters
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $httpMethod,
|
string $httpMethod,
|
||||||
string $httpUrl,
|
string $httpUrl,
|
||||||
?array $parameters = []
|
?array $parameters = []
|
||||||
) {
|
) {
|
||||||
$parameters = array_merge(
|
$parameters = array_merge(
|
||||||
Util::parseParameters(parse_url($httpUrl, PHP_URL_QUERY)),
|
Util::parseParameters(parse_url($httpUrl, PHP_URL_QUERY)),
|
||||||
$parameters
|
$parameters
|
||||||
);
|
);
|
||||||
$this->parameters = $parameters;
|
$this->parameters = $parameters;
|
||||||
$this->httpMethod = $httpMethod;
|
$this->httpMethod = $httpMethod;
|
||||||
$this->httpUrl = $httpUrl;
|
$this->httpUrl = $httpUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pretty much a helper function to set up the request
|
* pretty much a helper function to set up the request
|
||||||
*
|
*
|
||||||
* @param Consumer $consumer
|
* @param Consumer $consumer
|
||||||
* @param Token $token
|
* @param Token $token
|
||||||
* @param string $httpMethod
|
* @param string $httpMethod
|
||||||
* @param string $httpUrl
|
* @param string $httpUrl
|
||||||
* @param array $parameters
|
* @param array $parameters
|
||||||
*
|
*
|
||||||
* @return Request
|
* @return Request
|
||||||
*/
|
*/
|
||||||
public static function fromConsumerAndToken(
|
public static function fromConsumerAndToken(
|
||||||
Consumer $consumer,
|
Consumer $consumer,
|
||||||
Token $token = null,
|
Token $token = null,
|
||||||
string $httpMethod,
|
string $httpMethod,
|
||||||
string $httpUrl,
|
string $httpUrl,
|
||||||
array $parameters = [],
|
array $parameters = [],
|
||||||
$json = false
|
$json = false
|
||||||
) {
|
) {
|
||||||
$defaults = [
|
$defaults = [
|
||||||
'oauth_version' => Request::$version,
|
'oauth_version' => Request::$version,
|
||||||
'oauth_nonce' => Request::generateNonce(),
|
'oauth_nonce' => Request::generateNonce(),
|
||||||
'oauth_timestamp' => time(),
|
'oauth_timestamp' => time(),
|
||||||
'oauth_consumer_key' => $consumer->key,
|
'oauth_consumer_key' => $consumer->key,
|
||||||
];
|
];
|
||||||
if (null !== $token) {
|
if (null !== $token) {
|
||||||
$defaults['oauth_token'] = $token->key;
|
$defaults['oauth_token'] = $token->key;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The json payload is not included in the signature on json requests,
|
// The json payload is not included in the signature on json requests,
|
||||||
// therefore it shouldn't be included in the parameters array.
|
// therefore it shouldn't be included in the parameters array.
|
||||||
if ($json) {
|
if ($json) {
|
||||||
$parameters = $defaults;
|
$parameters = $defaults;
|
||||||
} else {
|
} else {
|
||||||
$parameters = array_merge($defaults, $parameters);
|
$parameters = array_merge($defaults, $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Request($httpMethod, $httpUrl, $parameters);
|
return new Request($httpMethod, $httpUrl, $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*/
|
*/
|
||||||
public function setParameter(string $name, string $value)
|
public function setParameter(string $name, string $value)
|
||||||
{
|
{
|
||||||
$this->parameters[$name] = $value;
|
$this->parameters[$name] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name
|
* @param string $name
|
||||||
*
|
*
|
||||||
* @return string|null
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
public function getParameter(string $name): ?string
|
public function getParameter(string $name): ?string
|
||||||
{
|
{
|
||||||
return isset($this->parameters[$name])
|
return isset($this->parameters[$name])
|
||||||
? $this->parameters[$name]
|
? $this->parameters[$name]
|
||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getParameters(): array
|
public function getParameters(): array
|
||||||
{
|
{
|
||||||
return $this->parameters;
|
return $this->parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name
|
* @param string $name
|
||||||
*/
|
*/
|
||||||
public function removeParameter(string $name): void
|
public function removeParameter(string $name): void
|
||||||
{
|
{
|
||||||
unset($this->parameters[$name]);
|
unset($this->parameters[$name]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The request parameters, sorted and concatenated into a normalized string.
|
* The request parameters, sorted and concatenated into a normalized string.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getSignableParameters(): string
|
public function getSignableParameters(): string
|
||||||
{
|
{
|
||||||
// Grab all parameters
|
// Grab all parameters
|
||||||
$params = $this->parameters;
|
$params = $this->parameters;
|
||||||
|
|
||||||
// Remove oauth_signature if present
|
// Remove oauth_signature if present
|
||||||
// Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
|
// Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
|
||||||
if (isset($params['oauth_signature'])) {
|
if (isset($params['oauth_signature'])) {
|
||||||
unset($params['oauth_signature']);
|
unset($params['oauth_signature']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Util::buildHttpQuery($params);
|
return Util::buildHttpQuery($params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the base string of this request
|
* Returns the base string of this request
|
||||||
*
|
*
|
||||||
* The base string defined as the method, the url
|
* The base string defined as the method, the url
|
||||||
* and the parameters (normalized), each urlencoded
|
* and the parameters (normalized), each urlencoded
|
||||||
* and the concated with &.
|
* and the concated with &.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getSignatureBaseString(): string
|
public function getSignatureBaseString(): string
|
||||||
{
|
{
|
||||||
$parts = [
|
$parts = [
|
||||||
$this->getNormalizedHttpMethod(),
|
$this->getNormalizedHttpMethod(),
|
||||||
$this->getNormalizedHttpUrl(),
|
$this->getNormalizedHttpUrl(),
|
||||||
$this->getSignableParameters(),
|
$this->getSignableParameters(),
|
||||||
];
|
];
|
||||||
|
|
||||||
$parts = Util::urlencodeRfc3986($parts);
|
$parts = Util::urlencodeRfc3986($parts);
|
||||||
|
|
||||||
return implode('&', $parts);
|
return implode('&', $parts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the HTTP Method in uppercase
|
* Returns the HTTP Method in uppercase
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getNormalizedHttpMethod(): string
|
public function getNormalizedHttpMethod(): string
|
||||||
{
|
{
|
||||||
return strtoupper($this->httpMethod);
|
return strtoupper($this->httpMethod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parses the url and rebuilds it to be
|
* parses the url and rebuilds it to be
|
||||||
* scheme://host/path
|
* scheme://host/path
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getNormalizedHttpUrl(): string
|
public function getNormalizedHttpUrl(): string
|
||||||
{
|
{
|
||||||
$parts = parse_url($this->httpUrl);
|
$parts = parse_url($this->httpUrl);
|
||||||
|
|
||||||
$scheme = $parts['scheme'];
|
$scheme = $parts['scheme'];
|
||||||
$host = strtolower($parts['host']);
|
$host = strtolower($parts['host']);
|
||||||
$path = $parts['path'];
|
$path = $parts['path'];
|
||||||
|
|
||||||
return "$scheme://$host$path";
|
return "$scheme://$host$path";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds a url usable for a GET request
|
* Builds a url usable for a GET request
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function toUrl(): string
|
public function toUrl(): string
|
||||||
{
|
{
|
||||||
$postData = $this->toPostdata();
|
$postData = $this->toPostdata();
|
||||||
$out = $this->getNormalizedHttpUrl();
|
$out = $this->getNormalizedHttpUrl();
|
||||||
if ($postData) {
|
if ($postData) {
|
||||||
$out .= '?' . $postData;
|
$out .= '?' . $postData;
|
||||||
}
|
}
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds the data one would send in a POST request
|
* Builds the data one would send in a POST request
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function toPostdata(): string
|
public function toPostdata(): string
|
||||||
{
|
{
|
||||||
return Util::buildHttpQuery($this->parameters);
|
return Util::buildHttpQuery($this->parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds the Authorization: header
|
* Builds the Authorization: header
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
* @throws TwitterOAuthException
|
* @throws TwitterOAuthException
|
||||||
*/
|
*/
|
||||||
public function toHeader(): string
|
public function toHeader(): string
|
||||||
{
|
{
|
||||||
$first = true;
|
$first = true;
|
||||||
$out = 'Authorization: OAuth';
|
$out = 'Authorization: OAuth';
|
||||||
foreach ($this->parameters as $k => $v) {
|
foreach ($this->parameters as $k => $v) {
|
||||||
if (substr($k, 0, 5) != 'oauth') {
|
if (substr($k, 0, 5) != 'oauth') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (is_array($v)) {
|
if (is_array($v)) {
|
||||||
throw new TwitterOAuthException(
|
throw new TwitterOAuthException(
|
||||||
'Arrays not supported in headers'
|
'Arrays not supported in headers'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$out .= $first ? ' ' : ', ';
|
$out .= $first ? ' ' : ', ';
|
||||||
$out .=
|
$out .=
|
||||||
Util::urlencodeRfc3986($k) .
|
Util::urlencodeRfc3986($k) .
|
||||||
'="' .
|
'="' .
|
||||||
Util::urlencodeRfc3986($v) .
|
Util::urlencodeRfc3986($v) .
|
||||||
'"';
|
'"';
|
||||||
$first = false;
|
$first = false;
|
||||||
}
|
}
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function __toString(): string
|
public function __toString(): string
|
||||||
{
|
{
|
||||||
return $this->toUrl();
|
return $this->toUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param SignatureMethod $signatureMethod
|
* @param SignatureMethod $signatureMethod
|
||||||
* @param Consumer $consumer
|
* @param Consumer $consumer
|
||||||
* @param Token $token
|
* @param Token $token
|
||||||
*/
|
*/
|
||||||
public function signRequest(
|
public function signRequest(
|
||||||
SignatureMethod $signatureMethod,
|
SignatureMethod $signatureMethod,
|
||||||
Consumer $consumer,
|
Consumer $consumer,
|
||||||
Token $token = null
|
Token $token = null
|
||||||
) {
|
) {
|
||||||
$this->setParameter(
|
$this->setParameter(
|
||||||
'oauth_signature_method',
|
'oauth_signature_method',
|
||||||
$signatureMethod->getName()
|
$signatureMethod->getName()
|
||||||
);
|
);
|
||||||
$signature = $this->buildSignature($signatureMethod, $consumer, $token);
|
$signature = $this->buildSignature($signatureMethod, $consumer, $token);
|
||||||
$this->setParameter('oauth_signature', $signature);
|
$this->setParameter('oauth_signature', $signature);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param SignatureMethod $signatureMethod
|
* @param SignatureMethod $signatureMethod
|
||||||
* @param Consumer $consumer
|
* @param Consumer $consumer
|
||||||
* @param Token $token
|
* @param Token $token
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function buildSignature(
|
public function buildSignature(
|
||||||
SignatureMethod $signatureMethod,
|
SignatureMethod $signatureMethod,
|
||||||
Consumer $consumer,
|
Consumer $consumer,
|
||||||
Token $token = null
|
Token $token = null
|
||||||
): string {
|
): string {
|
||||||
return $signatureMethod->buildSignature($this, $consumer, $token);
|
return $signatureMethod->buildSignature($this, $consumer, $token);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function generateNonce(): string
|
public static function generateNonce(): string
|
||||||
{
|
{
|
||||||
return md5(microtime() . mt_rand());
|
return md5(microtime() . mt_rand());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
218
vendor/abraham/twitteroauth/src/Response.php
vendored
218
vendor/abraham/twitteroauth/src/Response.php
vendored
|
@ -1,109 +1,109 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The result of the most recent API request.
|
* The result of the most recent API request.
|
||||||
*
|
*
|
||||||
* @author Abraham Williams <abraham@abrah.am>
|
* @author Abraham Williams <abraham@abrah.am>
|
||||||
*/
|
*/
|
||||||
class Response
|
class Response
|
||||||
{
|
{
|
||||||
/** @var string|null API path from the most recent request */
|
/** @var string|null API path from the most recent request */
|
||||||
private $apiPath;
|
private $apiPath;
|
||||||
/** @var int HTTP status code from the most recent request */
|
/** @var int HTTP status code from the most recent request */
|
||||||
private $httpCode = 0;
|
private $httpCode = 0;
|
||||||
/** @var array HTTP headers from the most recent request */
|
/** @var array HTTP headers from the most recent request */
|
||||||
private $headers = [];
|
private $headers = [];
|
||||||
/** @var array|object Response body from the most recent request */
|
/** @var array|object Response body from the most recent request */
|
||||||
private $body = [];
|
private $body = [];
|
||||||
/** @var array HTTP headers from the most recent request that start with X */
|
/** @var array HTTP headers from the most recent request that start with X */
|
||||||
private $xHeaders = [];
|
private $xHeaders = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $apiPath
|
* @param string $apiPath
|
||||||
*/
|
*/
|
||||||
public function setApiPath(string $apiPath): void
|
public function setApiPath(string $apiPath): void
|
||||||
{
|
{
|
||||||
$this->apiPath = $apiPath;
|
$this->apiPath = $apiPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string|null
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
public function getApiPath(): ?string
|
public function getApiPath(): ?string
|
||||||
{
|
{
|
||||||
return $this->apiPath;
|
return $this->apiPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array|object $body
|
* @param array|object $body
|
||||||
*/
|
*/
|
||||||
public function setBody($body)
|
public function setBody($body)
|
||||||
{
|
{
|
||||||
$this->body = $body;
|
$this->body = $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array|object|string
|
* @return array|object|string
|
||||||
*/
|
*/
|
||||||
public function getBody()
|
public function getBody()
|
||||||
{
|
{
|
||||||
return $this->body;
|
return $this->body;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param int $httpCode
|
* @param int $httpCode
|
||||||
*/
|
*/
|
||||||
public function setHttpCode(int $httpCode): void
|
public function setHttpCode(int $httpCode): void
|
||||||
{
|
{
|
||||||
$this->httpCode = $httpCode;
|
$this->httpCode = $httpCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
public function getHttpCode(): int
|
public function getHttpCode(): int
|
||||||
{
|
{
|
||||||
return $this->httpCode;
|
return $this->httpCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $headers
|
* @param array $headers
|
||||||
*/
|
*/
|
||||||
public function setHeaders(array $headers): void
|
public function setHeaders(array $headers): void
|
||||||
{
|
{
|
||||||
foreach ($headers as $key => $value) {
|
foreach ($headers as $key => $value) {
|
||||||
if (substr($key, 0, 1) == 'x') {
|
if (substr($key, 0, 1) == 'x') {
|
||||||
$this->xHeaders[$key] = $value;
|
$this->xHeaders[$key] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->headers = $headers;
|
$this->headers = $headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getsHeaders(): array
|
public function getsHeaders(): array
|
||||||
{
|
{
|
||||||
return $this->headers;
|
return $this->headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $xHeaders
|
* @param array $xHeaders
|
||||||
*/
|
*/
|
||||||
public function setXHeaders(array $xHeaders = []): void
|
public function setXHeaders(array $xHeaders = []): void
|
||||||
{
|
{
|
||||||
$this->xHeaders = $xHeaders;
|
$this->xHeaders = $xHeaders;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getXHeaders(): array
|
public function getXHeaders(): array
|
||||||
{
|
{
|
||||||
return $this->xHeaders;
|
return $this->xHeaders;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
156
vendor/abraham/twitteroauth/src/SignatureMethod.php
vendored
156
vendor/abraham/twitteroauth/src/SignatureMethod.php
vendored
|
@ -1,78 +1,78 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MIT License
|
* The MIT License
|
||||||
* Copyright (c) 2007 Andy Smith
|
* Copyright (c) 2007 Andy Smith
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class for implementing a Signature Method
|
* A class for implementing a Signature Method
|
||||||
* See section 9 ("Signing Requests") in the spec
|
* See section 9 ("Signing Requests") in the spec
|
||||||
*/
|
*/
|
||||||
abstract class SignatureMethod
|
abstract class SignatureMethod
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Needs to return the name of the Signature Method (ie HMAC-SHA1)
|
* Needs to return the name of the Signature Method (ie HMAC-SHA1)
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
abstract public function getName();
|
abstract public function getName();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build up the signature
|
* Build up the signature
|
||||||
* NOTE: The output of this function MUST NOT be urlencoded.
|
* NOTE: The output of this function MUST NOT be urlencoded.
|
||||||
* the encoding is handled in OAuthRequest when the final
|
* the encoding is handled in OAuthRequest when the final
|
||||||
* request is serialized
|
* request is serialized
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param Consumer $consumer
|
* @param Consumer $consumer
|
||||||
* @param Token $token
|
* @param Token $token
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
abstract public function buildSignature(
|
abstract public function buildSignature(
|
||||||
Request $request,
|
Request $request,
|
||||||
Consumer $consumer,
|
Consumer $consumer,
|
||||||
Token $token = null
|
Token $token = null
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verifies that a given signature is correct
|
* Verifies that a given signature is correct
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param Consumer $consumer
|
* @param Consumer $consumer
|
||||||
* @param Token $token
|
* @param Token $token
|
||||||
* @param string $signature
|
* @param string $signature
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function checkSignature(
|
public function checkSignature(
|
||||||
Request $request,
|
Request $request,
|
||||||
Consumer $consumer,
|
Consumer $consumer,
|
||||||
Token $token,
|
Token $token,
|
||||||
string $signature
|
string $signature
|
||||||
): bool {
|
): bool {
|
||||||
$built = $this->buildSignature($request, $consumer, $token);
|
$built = $this->buildSignature($request, $consumer, $token);
|
||||||
|
|
||||||
// Check for zero length, although unlikely here
|
// Check for zero length, although unlikely here
|
||||||
if (strlen($built) == 0 || strlen($signature) == 0) {
|
if (strlen($built) == 0 || strlen($signature) == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen($built) != strlen($signature)) {
|
if (strlen($built) != strlen($signature)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Avoid a timing leak with a (hopefully) time insensitive compare
|
// Avoid a timing leak with a (hopefully) time insensitive compare
|
||||||
$result = 0;
|
$result = 0;
|
||||||
for ($i = 0; $i < strlen($signature); $i++) {
|
for ($i = 0; $i < strlen($signature); $i++) {
|
||||||
$result |= ord($built[$i]) ^ ord($signature[$i]);
|
$result |= ord($built[$i]) ^ ord($signature[$i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result == 0;
|
return $result == 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
86
vendor/abraham/twitteroauth/src/Token.php
vendored
86
vendor/abraham/twitteroauth/src/Token.php
vendored
|
@ -1,43 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MIT License
|
* The MIT License
|
||||||
* Copyright (c) 2007 Andy Smith
|
* Copyright (c) 2007 Andy Smith
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
class Token
|
class Token
|
||||||
{
|
{
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public $key;
|
public $key;
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public $secret;
|
public $secret;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $key The OAuth Token
|
* @param string $key The OAuth Token
|
||||||
* @param string $secret The OAuth Token Secret
|
* @param string $secret The OAuth Token Secret
|
||||||
*/
|
*/
|
||||||
public function __construct(?string $key, ?string $secret)
|
public function __construct(?string $key, ?string $secret)
|
||||||
{
|
{
|
||||||
$this->key = $key;
|
$this->key = $key;
|
||||||
$this->secret = $secret;
|
$this->secret = $secret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates the basic string serialization of a token that a server
|
* Generates the basic string serialization of a token that a server
|
||||||
* would respond to request_token and access_token calls with
|
* would respond to request_token and access_token calls with
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function __toString(): string
|
public function __toString(): string
|
||||||
{
|
{
|
||||||
return sprintf(
|
return sprintf(
|
||||||
'oauth_token=%s&oauth_token_secret=%s',
|
'oauth_token=%s&oauth_token_secret=%s',
|
||||||
Util::urlencodeRfc3986($this->key),
|
Util::urlencodeRfc3986($this->key),
|
||||||
Util::urlencodeRfc3986($this->secret)
|
Util::urlencodeRfc3986($this->secret)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1454
vendor/abraham/twitteroauth/src/TwitterOAuth.php
vendored
1454
vendor/abraham/twitteroauth/src/TwitterOAuth.php
vendored
File diff suppressed because it is too large
Load diff
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Abraham Williams <abraham@abrah.am>
|
* @author Abraham Williams <abraham@abrah.am>
|
||||||
*/
|
*/
|
||||||
class TwitterOAuthException extends \Exception
|
class TwitterOAuthException extends \Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
244
vendor/abraham/twitteroauth/src/Util.php
vendored
244
vendor/abraham/twitteroauth/src/Util.php
vendored
|
@ -1,122 +1,122 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The MIT License
|
* The MIT License
|
||||||
* Copyright (c) 2007 Andy Smith
|
* Copyright (c) 2007 Andy Smith
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
class Util
|
class Util
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param mixed $input
|
* @param mixed $input
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public static function urlencodeRfc3986($input)
|
public static function urlencodeRfc3986($input)
|
||||||
{
|
{
|
||||||
$output = '';
|
$output = '';
|
||||||
if (is_array($input)) {
|
if (is_array($input)) {
|
||||||
$output = array_map(
|
$output = array_map(
|
||||||
[__NAMESPACE__ . '\Util', 'urlencodeRfc3986'],
|
[__NAMESPACE__ . '\Util', 'urlencodeRfc3986'],
|
||||||
$input
|
$input
|
||||||
);
|
);
|
||||||
} elseif (is_scalar($input)) {
|
} elseif (is_scalar($input)) {
|
||||||
$output = rawurlencode((string) $input);
|
$output = rawurlencode((string) $input);
|
||||||
}
|
}
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $string
|
* @param string $string
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function urldecodeRfc3986($string): string
|
public static function urldecodeRfc3986($string): string
|
||||||
{
|
{
|
||||||
return urldecode($string);
|
return urldecode($string);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function takes a input like a=b&a=c&d=e and returns the parsed
|
* This function takes a input like a=b&a=c&d=e and returns the parsed
|
||||||
* parameters like this
|
* parameters like this
|
||||||
* array('a' => array('b','c'), 'd' => 'e')
|
* array('a' => array('b','c'), 'd' => 'e')
|
||||||
*
|
*
|
||||||
* @param string $input
|
* @param string $input
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function parseParameters($input): array
|
public static function parseParameters($input): array
|
||||||
{
|
{
|
||||||
if (!is_string($input)) {
|
if (!is_string($input)) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
$pairs = explode('&', $input);
|
$pairs = explode('&', $input);
|
||||||
|
|
||||||
$parameters = [];
|
$parameters = [];
|
||||||
foreach ($pairs as $pair) {
|
foreach ($pairs as $pair) {
|
||||||
$split = explode('=', $pair, 2);
|
$split = explode('=', $pair, 2);
|
||||||
$parameter = Util::urldecodeRfc3986($split[0]);
|
$parameter = Util::urldecodeRfc3986($split[0]);
|
||||||
$value = isset($split[1]) ? Util::urldecodeRfc3986($split[1]) : '';
|
$value = isset($split[1]) ? Util::urldecodeRfc3986($split[1]) : '';
|
||||||
|
|
||||||
if (isset($parameters[$parameter])) {
|
if (isset($parameters[$parameter])) {
|
||||||
// We have already recieved parameter(s) with this name, so add to the list
|
// We have already recieved parameter(s) with this name, so add to the list
|
||||||
// of parameters with this name
|
// of parameters with this name
|
||||||
|
|
||||||
if (is_scalar($parameters[$parameter])) {
|
if (is_scalar($parameters[$parameter])) {
|
||||||
// This is the first duplicate, so transform scalar (string) into an array
|
// This is the first duplicate, so transform scalar (string) into an array
|
||||||
// so we can add the duplicates
|
// so we can add the duplicates
|
||||||
$parameters[$parameter] = [$parameters[$parameter]];
|
$parameters[$parameter] = [$parameters[$parameter]];
|
||||||
}
|
}
|
||||||
|
|
||||||
$parameters[$parameter][] = $value;
|
$parameters[$parameter][] = $value;
|
||||||
} else {
|
} else {
|
||||||
$parameters[$parameter] = $value;
|
$parameters[$parameter] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $parameters;
|
return $parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $params
|
* @param array $params
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function buildHttpQuery(array $params): string
|
public static function buildHttpQuery(array $params): string
|
||||||
{
|
{
|
||||||
if (empty($params)) {
|
if (empty($params)) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Urlencode both keys and values
|
// Urlencode both keys and values
|
||||||
$keys = Util::urlencodeRfc3986(array_keys($params));
|
$keys = Util::urlencodeRfc3986(array_keys($params));
|
||||||
$values = Util::urlencodeRfc3986(array_values($params));
|
$values = Util::urlencodeRfc3986(array_values($params));
|
||||||
$params = array_combine($keys, $values);
|
$params = array_combine($keys, $values);
|
||||||
|
|
||||||
// Parameters are sorted by name, using lexicographical byte value ordering.
|
// Parameters are sorted by name, using lexicographical byte value ordering.
|
||||||
// Ref: Spec: 9.1.1 (1)
|
// Ref: Spec: 9.1.1 (1)
|
||||||
uksort($params, 'strcmp');
|
uksort($params, 'strcmp');
|
||||||
|
|
||||||
$pairs = [];
|
$pairs = [];
|
||||||
foreach ($params as $parameter => $value) {
|
foreach ($params as $parameter => $value) {
|
||||||
if (is_array($value)) {
|
if (is_array($value)) {
|
||||||
// If two or more parameters share the same name, they are sorted by their value
|
// If two or more parameters share the same name, they are sorted by their value
|
||||||
// Ref: Spec: 9.1.1 (1)
|
// Ref: Spec: 9.1.1 (1)
|
||||||
// June 12th, 2010 - changed to sort because of issue 164 by hidetaka
|
// June 12th, 2010 - changed to sort because of issue 164 by hidetaka
|
||||||
sort($value, SORT_STRING);
|
sort($value, SORT_STRING);
|
||||||
foreach ($value as $duplicateValue) {
|
foreach ($value as $duplicateValue) {
|
||||||
$pairs[] = $parameter . '=' . $duplicateValue;
|
$pairs[] = $parameter . '=' . $duplicateValue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$pairs[] = $parameter . '=' . $value;
|
$pairs[] = $parameter . '=' . $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
|
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
|
||||||
// Each name-value pair is separated by an '&' character (ASCII code 38)
|
// Each name-value pair is separated by an '&' character (ASCII code 38)
|
||||||
return implode('&', $pairs);
|
return implode('&', $pairs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Util;
|
namespace Abraham\TwitterOAuth\Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author louis <louis@systemli.org>
|
* @author louis <louis@systemli.org>
|
||||||
*/
|
*/
|
||||||
class JsonDecoder
|
class JsonDecoder
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Decodes a JSON string to stdObject or associative array
|
* Decodes a JSON string to stdObject or associative array
|
||||||
*
|
*
|
||||||
* @param string $string
|
* @param string $string
|
||||||
* @param bool $asArray
|
* @param bool $asArray
|
||||||
*
|
*
|
||||||
* @return array|object
|
* @return array|object
|
||||||
*/
|
*/
|
||||||
public static function decode(string $string, bool $asArray)
|
public static function decode(string $string, bool $asArray)
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
version_compare(PHP_VERSION, '5.4.0', '>=') &&
|
version_compare(PHP_VERSION, '5.4.0', '>=') &&
|
||||||
!(defined('JSON_C_VERSION') && PHP_INT_SIZE > 4)
|
!(defined('JSON_C_VERSION') && PHP_INT_SIZE > 4)
|
||||||
) {
|
) {
|
||||||
return json_decode($string, $asArray, 512, JSON_BIGINT_AS_STRING);
|
return json_decode($string, $asArray, 512, JSON_BIGINT_AS_STRING);
|
||||||
}
|
}
|
||||||
|
|
||||||
return json_decode($string, $asArray);
|
return json_decode($string, $asArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,60 +1,60 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Tests;
|
namespace Abraham\TwitterOAuth\Tests;
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Abraham\TwitterOAuth\SignatureMethod;
|
use Abraham\TwitterOAuth\SignatureMethod;
|
||||||
|
|
||||||
abstract class AbstractSignatureMethodTest extends TestCase
|
abstract class AbstractSignatureMethodTest extends TestCase
|
||||||
{
|
{
|
||||||
protected $name;
|
protected $name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return SignatureMethod
|
* @return SignatureMethod
|
||||||
*/
|
*/
|
||||||
abstract public function getClass();
|
abstract public function getClass();
|
||||||
|
|
||||||
abstract protected function signatureDataProvider();
|
abstract protected function signatureDataProvider();
|
||||||
|
|
||||||
public function testGetName()
|
public function testGetName()
|
||||||
{
|
{
|
||||||
$this->assertEquals($this->name, $this->getClass()->getName());
|
$this->assertEquals($this->name, $this->getClass()->getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider signatureDataProvider
|
* @dataProvider signatureDataProvider
|
||||||
*/
|
*/
|
||||||
public function testBuildSignature($expected, $request, $consumer, $token)
|
public function testBuildSignature($expected, $request, $consumer, $token)
|
||||||
{
|
{
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
$expected,
|
$expected,
|
||||||
$this->getClass()->buildSignature($request, $consumer, $token)
|
$this->getClass()->buildSignature($request, $consumer, $token)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getRequest()
|
protected function getRequest()
|
||||||
{
|
{
|
||||||
return $this->getMockBuilder('Abraham\TwitterOAuth\Request')
|
return $this->getMockBuilder('Abraham\TwitterOAuth\Request')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getConsumer(
|
protected function getConsumer(
|
||||||
$key = null,
|
$key = null,
|
||||||
$secret = null,
|
$secret = null,
|
||||||
$callbackUrl = null
|
$callbackUrl = null
|
||||||
) {
|
) {
|
||||||
return $this->getMockBuilder('Abraham\TwitterOAuth\Consumer')
|
return $this->getMockBuilder('Abraham\TwitterOAuth\Consumer')
|
||||||
->setConstructorArgs([$key, $secret, $callbackUrl])
|
->setConstructorArgs([$key, $secret, $callbackUrl])
|
||||||
->getMock();
|
->getMock();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getToken($key = null, $secret = null)
|
protected function getToken($key = null, $secret = null)
|
||||||
{
|
{
|
||||||
return $this->getMockBuilder('Abraham\TwitterOAuth\Token')
|
return $this->getMockBuilder('Abraham\TwitterOAuth\Token')
|
||||||
->setConstructorArgs([$key, $secret])
|
->setConstructorArgs([$key, $secret])
|
||||||
->getMock();
|
->getMock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Tests;
|
namespace Abraham\TwitterOAuth\Tests;
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Abraham\TwitterOAuth\Consumer;
|
use Abraham\TwitterOAuth\Consumer;
|
||||||
|
|
||||||
class ConsumerTest extends TestCase
|
class ConsumerTest extends TestCase
|
||||||
{
|
{
|
||||||
public function testToString()
|
public function testToString()
|
||||||
{
|
{
|
||||||
$key = uniqid();
|
$key = uniqid();
|
||||||
$secret = uniqid();
|
$secret = uniqid();
|
||||||
$consumer = new Consumer($key, $secret);
|
$consumer = new Consumer($key, $secret);
|
||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
"Consumer[key=$key,secret=$secret]",
|
"Consumer[key=$key,secret=$secret]",
|
||||||
$consumer->__toString()
|
$consumer->__toString()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +1,47 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Tests;
|
namespace Abraham\TwitterOAuth\Tests;
|
||||||
|
|
||||||
use Abraham\TwitterOAuth\HmacSha1;
|
use Abraham\TwitterOAuth\HmacSha1;
|
||||||
|
|
||||||
class HmacSha1Test extends AbstractSignatureMethodTest
|
class HmacSha1Test extends AbstractSignatureMethodTest
|
||||||
{
|
{
|
||||||
protected $name = 'HMAC-SHA1';
|
protected $name = 'HMAC-SHA1';
|
||||||
|
|
||||||
public function getClass()
|
public function getClass()
|
||||||
{
|
{
|
||||||
return new HmacSha1();
|
return new HmacSha1();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function signatureDataProvider()
|
public function signatureDataProvider()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
[
|
[
|
||||||
'5CoEcoq7XoKFjwYCieQvuzadeUA=',
|
'5CoEcoq7XoKFjwYCieQvuzadeUA=',
|
||||||
$this->getRequest(),
|
$this->getRequest(),
|
||||||
$this->getConsumer(),
|
$this->getConsumer(),
|
||||||
$this->getToken(),
|
$this->getToken(),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'EBw0gHngam3BTx8kfPfNNSyKem4=',
|
'EBw0gHngam3BTx8kfPfNNSyKem4=',
|
||||||
$this->getRequest(),
|
$this->getRequest(),
|
||||||
$this->getConsumer('key', 'secret'),
|
$this->getConsumer('key', 'secret'),
|
||||||
$this->getToken(),
|
$this->getToken(),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'kDsHFZzws2a5M6cAQjfpdNBo+v8=',
|
'kDsHFZzws2a5M6cAQjfpdNBo+v8=',
|
||||||
$this->getRequest(),
|
$this->getRequest(),
|
||||||
$this->getConsumer('key', 'secret'),
|
$this->getConsumer('key', 'secret'),
|
||||||
$this->getToken('key', 'secret'),
|
$this->getToken('key', 'secret'),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'EBw0gHngam3BTx8kfPfNNSyKem4=',
|
'EBw0gHngam3BTx8kfPfNNSyKem4=',
|
||||||
$this->getRequest(),
|
$this->getRequest(),
|
||||||
$this->getConsumer('key', 'secret'),
|
$this->getConsumer('key', 'secret'),
|
||||||
null,
|
null,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
76
vendor/abraham/twitteroauth/tests/TokenTest.php
vendored
76
vendor/abraham/twitteroauth/tests/TokenTest.php
vendored
|
@ -1,38 +1,38 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Tests;
|
namespace Abraham\TwitterOAuth\Tests;
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Abraham\TwitterOAuth\Token;
|
use Abraham\TwitterOAuth\Token;
|
||||||
|
|
||||||
class TokenTest extends TestCase
|
class TokenTest extends TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @dataProvider tokenProvider
|
* @dataProvider tokenProvider
|
||||||
*/
|
*/
|
||||||
public function testToString($expected, $key, $secret)
|
public function testToString($expected, $key, $secret)
|
||||||
{
|
{
|
||||||
$token = new Token($key, $secret);
|
$token = new Token($key, $secret);
|
||||||
|
|
||||||
$this->assertEquals($expected, $token->__toString());
|
$this->assertEquals($expected, $token->__toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tokenProvider()
|
public function tokenProvider()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
['oauth_token=key&oauth_token_secret=secret', 'key', 'secret'],
|
['oauth_token=key&oauth_token_secret=secret', 'key', 'secret'],
|
||||||
[
|
[
|
||||||
'oauth_token=key%2Bkey&oauth_token_secret=secret',
|
'oauth_token=key%2Bkey&oauth_token_secret=secret',
|
||||||
'key+key',
|
'key+key',
|
||||||
'secret',
|
'secret',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'oauth_token=key~key&oauth_token_secret=secret',
|
'oauth_token=key~key&oauth_token_secret=secret',
|
||||||
'key~key',
|
'key~key',
|
||||||
'secret',
|
'secret',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,397 +1,397 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WARNING: Running tests will post and delete through the actual Twitter account when updating or saving VCR cassettes.
|
* WARNING: Running tests will post and delete through the actual Twitter account when updating or saving VCR cassettes.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Test;
|
namespace Abraham\TwitterOAuth\Test;
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Abraham\TwitterOAuth\TwitterOAuth;
|
use Abraham\TwitterOAuth\TwitterOAuth;
|
||||||
|
|
||||||
class TwitterOAuthTest extends TestCase
|
class TwitterOAuthTest extends TestCase
|
||||||
{
|
{
|
||||||
/** @var TwitterOAuth */
|
/** @var TwitterOAuth */
|
||||||
protected $twitter;
|
protected $twitter;
|
||||||
|
|
||||||
protected function setUp(): void
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
$this->twitter = new TwitterOAuth(
|
$this->twitter = new TwitterOAuth(
|
||||||
CONSUMER_KEY,
|
CONSUMER_KEY,
|
||||||
CONSUMER_SECRET,
|
CONSUMER_SECRET,
|
||||||
ACCESS_TOKEN,
|
ACCESS_TOKEN,
|
||||||
ACCESS_TOKEN_SECRET
|
ACCESS_TOKEN_SECRET
|
||||||
);
|
);
|
||||||
$this->userId = explode('-', ACCESS_TOKEN)[0];
|
$this->userId = explode('-', ACCESS_TOKEN)[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testBuildClient()
|
public function testBuildClient()
|
||||||
{
|
{
|
||||||
$this->assertObjectHasAttribute('consumer', $this->twitter);
|
$this->assertObjectHasAttribute('consumer', $this->twitter);
|
||||||
$this->assertObjectHasAttribute('token', $this->twitter);
|
$this->assertObjectHasAttribute('token', $this->twitter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testSetOauthToken.json
|
* @vcr testSetOauthToken.json
|
||||||
*/
|
*/
|
||||||
public function testSetOauthToken()
|
public function testSetOauthToken()
|
||||||
{
|
{
|
||||||
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
||||||
$twitter->setOauthToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
|
$twitter->setOauthToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
|
||||||
$this->assertObjectHasAttribute('consumer', $twitter);
|
$this->assertObjectHasAttribute('consumer', $twitter);
|
||||||
$this->assertObjectHasAttribute('token', $twitter);
|
$this->assertObjectHasAttribute('token', $twitter);
|
||||||
$twitter->get('friendships/show', [
|
$twitter->get('friendships/show', [
|
||||||
'target_screen_name' => 'twitterapi',
|
'target_screen_name' => 'twitterapi',
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $twitter->getLastHttpCode());
|
$this->assertEquals(200, $twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testOauth2Token.json
|
* @vcr testOauth2Token.json
|
||||||
*/
|
*/
|
||||||
public function testOauth2Token()
|
public function testOauth2Token()
|
||||||
{
|
{
|
||||||
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
||||||
$result = $twitter->oauth2('oauth2/token', [
|
$result = $twitter->oauth2('oauth2/token', [
|
||||||
'grant_type' => 'client_credentials',
|
'grant_type' => 'client_credentials',
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $twitter->getLastHttpCode());
|
$this->assertEquals(200, $twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute('token_type', $result);
|
$this->assertObjectHasAttribute('token_type', $result);
|
||||||
$this->assertObjectHasAttribute('access_token', $result);
|
$this->assertObjectHasAttribute('access_token', $result);
|
||||||
$this->assertEquals('bearer', $result->token_type);
|
$this->assertEquals('bearer', $result->token_type);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testOauth2Token
|
* @depends testOauth2Token
|
||||||
* @vcr testOauth2BearerToken.json
|
* @vcr testOauth2BearerToken.json
|
||||||
*/
|
*/
|
||||||
public function testOauth2BearerToken($accessToken)
|
public function testOauth2BearerToken($accessToken)
|
||||||
{
|
{
|
||||||
$twitter = new TwitterOAuth(
|
$twitter = new TwitterOAuth(
|
||||||
CONSUMER_KEY,
|
CONSUMER_KEY,
|
||||||
CONSUMER_SECRET,
|
CONSUMER_SECRET,
|
||||||
null,
|
null,
|
||||||
$accessToken->access_token
|
$accessToken->access_token
|
||||||
);
|
);
|
||||||
$result = $twitter->get('statuses/user_timeline', [
|
$result = $twitter->get('statuses/user_timeline', [
|
||||||
'screen_name' => 'twitterapi',
|
'screen_name' => 'twitterapi',
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $twitter->getLastHttpCode());
|
$this->assertEquals(200, $twitter->getLastHttpCode());
|
||||||
return $accessToken;
|
return $accessToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testOauth2BearerToken
|
* @depends testOauth2BearerToken
|
||||||
* @vcr testOauth2TokenInvalidate.json
|
* @vcr testOauth2TokenInvalidate.json
|
||||||
*/
|
*/
|
||||||
public function testOauth2TokenInvalidate($accessToken)
|
public function testOauth2TokenInvalidate($accessToken)
|
||||||
{
|
{
|
||||||
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
||||||
// HACK: access_token is already urlencoded but gets urlencoded again breaking the invalidate request.
|
// HACK: access_token is already urlencoded but gets urlencoded again breaking the invalidate request.
|
||||||
$result = $twitter->oauth2('oauth2/invalidate_token', [
|
$result = $twitter->oauth2('oauth2/invalidate_token', [
|
||||||
'access_token' => urldecode($accessToken->access_token),
|
'access_token' => urldecode($accessToken->access_token),
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $twitter->getLastHttpCode());
|
$this->assertEquals(200, $twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute('access_token', $result);
|
$this->assertObjectHasAttribute('access_token', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testOauthRequestToken.json
|
* @vcr testOauthRequestToken.json
|
||||||
*/
|
*/
|
||||||
public function testOauthRequestToken()
|
public function testOauthRequestToken()
|
||||||
{
|
{
|
||||||
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
|
||||||
$result = $twitter->oauth('oauth/request_token', [
|
$result = $twitter->oauth('oauth/request_token', [
|
||||||
'oauth_callback' => OAUTH_CALLBACK,
|
'oauth_callback' => OAUTH_CALLBACK,
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $twitter->getLastHttpCode());
|
$this->assertEquals(200, $twitter->getLastHttpCode());
|
||||||
$this->assertArrayHasKey('oauth_token', $result);
|
$this->assertArrayHasKey('oauth_token', $result);
|
||||||
$this->assertArrayHasKey('oauth_token_secret', $result);
|
$this->assertArrayHasKey('oauth_token_secret', $result);
|
||||||
$this->assertArrayHasKey('oauth_callback_confirmed', $result);
|
$this->assertArrayHasKey('oauth_callback_confirmed', $result);
|
||||||
$this->assertEquals('true', $result['oauth_callback_confirmed']);
|
$this->assertEquals('true', $result['oauth_callback_confirmed']);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testOauthRequestTokenException.json
|
* @vcr testOauthRequestTokenException.json
|
||||||
*/
|
*/
|
||||||
public function testOauthRequestTokenException()
|
public function testOauthRequestTokenException()
|
||||||
{
|
{
|
||||||
$this->expectException(
|
$this->expectException(
|
||||||
\Abraham\TwitterOAuth\TwitterOAuthException::class
|
\Abraham\TwitterOAuth\TwitterOAuthException::class
|
||||||
);
|
);
|
||||||
$this->expectErrorMessage('Could not authenticate you');
|
$this->expectErrorMessage('Could not authenticate you');
|
||||||
$twitter = new TwitterOAuth('CONSUMER_KEY', 'CONSUMER_SECRET');
|
$twitter = new TwitterOAuth('CONSUMER_KEY', 'CONSUMER_SECRET');
|
||||||
$result = $twitter->oauth('oauth/request_token', [
|
$result = $twitter->oauth('oauth/request_token', [
|
||||||
'oauth_callback' => OAUTH_CALLBACK,
|
'oauth_callback' => OAUTH_CALLBACK,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testOauthRequestToken
|
* @depends testOauthRequestToken
|
||||||
* @vcr testOauthAccessTokenTokenException.json
|
* @vcr testOauthAccessTokenTokenException.json
|
||||||
*/
|
*/
|
||||||
public function testOauthAccessTokenTokenException(array $requestToken)
|
public function testOauthAccessTokenTokenException(array $requestToken)
|
||||||
{
|
{
|
||||||
// Can't test this without a browser logging into Twitter so check for the correct error instead.
|
// Can't test this without a browser logging into Twitter so check for the correct error instead.
|
||||||
$this->expectException(
|
$this->expectException(
|
||||||
\Abraham\TwitterOAuth\TwitterOAuthException::class
|
\Abraham\TwitterOAuth\TwitterOAuthException::class
|
||||||
);
|
);
|
||||||
$this->expectErrorMessage('Invalid oauth_verifier parameter');
|
$this->expectErrorMessage('Invalid oauth_verifier parameter');
|
||||||
$twitter = new TwitterOAuth(
|
$twitter = new TwitterOAuth(
|
||||||
CONSUMER_KEY,
|
CONSUMER_KEY,
|
||||||
CONSUMER_SECRET,
|
CONSUMER_SECRET,
|
||||||
$requestToken['oauth_token'],
|
$requestToken['oauth_token'],
|
||||||
$requestToken['oauth_token_secret']
|
$requestToken['oauth_token_secret']
|
||||||
);
|
);
|
||||||
$twitter->oauth('oauth/access_token', [
|
$twitter->oauth('oauth/access_token', [
|
||||||
'oauth_verifier' => 'fake_oauth_verifier',
|
'oauth_verifier' => 'fake_oauth_verifier',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUrl()
|
public function testUrl()
|
||||||
{
|
{
|
||||||
$url = $this->twitter->url('oauth/authorize', [
|
$url = $this->twitter->url('oauth/authorize', [
|
||||||
'foo' => 'bar',
|
'foo' => 'bar',
|
||||||
'baz' => 'qux',
|
'baz' => 'qux',
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
'https://api.twitter.com/oauth/authorize?foo=bar&baz=qux',
|
'https://api.twitter.com/oauth/authorize?foo=bar&baz=qux',
|
||||||
$url
|
$url
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testGetAccountVerifyCredentials.json
|
* @vcr testGetAccountVerifyCredentials.json
|
||||||
*/
|
*/
|
||||||
public function testGetAccountVerifyCredentials()
|
public function testGetAccountVerifyCredentials()
|
||||||
{
|
{
|
||||||
$user = $this->twitter->get('account/verify_credentials', [
|
$user = $this->twitter->get('account/verify_credentials', [
|
||||||
'include_entities' => false,
|
'include_entities' => false,
|
||||||
'include_email' => true,
|
'include_email' => true,
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute('email', $user);
|
$this->assertObjectHasAttribute('email', $user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testSetProxy.json
|
* @vcr testSetProxy.json
|
||||||
*/
|
*/
|
||||||
public function testSetProxy()
|
public function testSetProxy()
|
||||||
{
|
{
|
||||||
$this->twitter->setProxy([
|
$this->twitter->setProxy([
|
||||||
'CURLOPT_PROXY' => PROXY,
|
'CURLOPT_PROXY' => PROXY,
|
||||||
'CURLOPT_PROXYUSERPWD' => PROXYUSERPWD,
|
'CURLOPT_PROXYUSERPWD' => PROXYUSERPWD,
|
||||||
'CURLOPT_PROXYPORT' => PROXYPORT,
|
'CURLOPT_PROXYPORT' => PROXYPORT,
|
||||||
]);
|
]);
|
||||||
$this->twitter->setTimeouts(60, 60);
|
$this->twitter->setTimeouts(60, 60);
|
||||||
$result = $this->twitter->get('account/verify_credentials');
|
$result = $this->twitter->get('account/verify_credentials');
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute('id', $result);
|
$this->assertObjectHasAttribute('id', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testGetStatusesMentionsTimeline.json
|
* @vcr testGetStatusesMentionsTimeline.json
|
||||||
*/
|
*/
|
||||||
public function testGetStatusesMentionsTimeline()
|
public function testGetStatusesMentionsTimeline()
|
||||||
{
|
{
|
||||||
$this->twitter->get('statuses/mentions_timeline');
|
$this->twitter->get('statuses/mentions_timeline');
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testGetSearchTweets.json
|
* @vcr testGetSearchTweets.json
|
||||||
*/
|
*/
|
||||||
public function testGetSearchTweets()
|
public function testGetSearchTweets()
|
||||||
{
|
{
|
||||||
$result = $this->twitter->get('search/tweets', ['q' => 'twitter']);
|
$result = $this->twitter->get('search/tweets', ['q' => 'twitter']);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
return $result->statuses;
|
return $result->statuses;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testGetSearchTweets
|
* @depends testGetSearchTweets
|
||||||
* @vcr testGetSearchTweetsWithMaxId.json
|
* @vcr testGetSearchTweetsWithMaxId.json
|
||||||
*/
|
*/
|
||||||
public function testGetSearchTweetsWithMaxId($statuses)
|
public function testGetSearchTweetsWithMaxId($statuses)
|
||||||
{
|
{
|
||||||
$maxId = array_pop($statuses)->id_str;
|
$maxId = array_pop($statuses)->id_str;
|
||||||
$this->twitter->get('search/tweets', [
|
$this->twitter->get('search/tweets', [
|
||||||
'q' => 'twitter',
|
'q' => 'twitter',
|
||||||
'max_id' => $maxId,
|
'max_id' => $maxId,
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testPostFavoritesCreate.json
|
* @vcr testPostFavoritesCreate.json
|
||||||
*/
|
*/
|
||||||
public function testPostFavoritesCreate()
|
public function testPostFavoritesCreate()
|
||||||
{
|
{
|
||||||
$result = $this->twitter->post('favorites/create', [
|
$result = $this->twitter->post('favorites/create', [
|
||||||
'id' => '6242973112',
|
'id' => '6242973112',
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testPostFavoritesCreate
|
* @depends testPostFavoritesCreate
|
||||||
* @vcr testPostFavoritesDestroy.json
|
* @vcr testPostFavoritesDestroy.json
|
||||||
*/
|
*/
|
||||||
public function testPostFavoritesDestroy()
|
public function testPostFavoritesDestroy()
|
||||||
{
|
{
|
||||||
$this->twitter->post('favorites/destroy', ['id' => '6242973112']);
|
$this->twitter->post('favorites/destroy', ['id' => '6242973112']);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testPostDirectMessagesEventsNew.json
|
* @vcr testPostDirectMessagesEventsNew.json
|
||||||
*/
|
*/
|
||||||
public function testPostDirectMessagesEventsNew()
|
public function testPostDirectMessagesEventsNew()
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
'event' => [
|
'event' => [
|
||||||
'type' => 'message_create',
|
'type' => 'message_create',
|
||||||
'message_create' => [
|
'message_create' => [
|
||||||
'target' => [
|
'target' => [
|
||||||
'recipient_id' => $this->userId,
|
'recipient_id' => $this->userId,
|
||||||
],
|
],
|
||||||
'message_data' => [
|
'message_data' => [
|
||||||
'text' => 'Hello World!',
|
'text' => 'Hello World!',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
$result = $this->twitter->post(
|
$result = $this->twitter->post(
|
||||||
'direct_messages/events/new',
|
'direct_messages/events/new',
|
||||||
$data,
|
$data,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testPostDirectMessagesEventsNew
|
* @depends testPostDirectMessagesEventsNew
|
||||||
* @vcr testDeleteDirectMessagesEventsDestroy.json
|
* @vcr testDeleteDirectMessagesEventsDestroy.json
|
||||||
*/
|
*/
|
||||||
public function testDeleteDirectMessagesEventsDestroy($message)
|
public function testDeleteDirectMessagesEventsDestroy($message)
|
||||||
{
|
{
|
||||||
$this->twitter->delete('direct_messages/events/destroy', [
|
$this->twitter->delete('direct_messages/events/destroy', [
|
||||||
'id' => $message->event->id,
|
'id' => $message->event->id,
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(204, $this->twitter->getLastHttpCode());
|
$this->assertEquals(204, $this->twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testPostStatusesUpdateWithMedia.json
|
* @vcr testPostStatusesUpdateWithMedia.json
|
||||||
*/
|
*/
|
||||||
public function testPostStatusesUpdateWithMedia()
|
public function testPostStatusesUpdateWithMedia()
|
||||||
{
|
{
|
||||||
$this->twitter->setTimeouts(60, 60);
|
$this->twitter->setTimeouts(60, 60);
|
||||||
// Image source https://www.flickr.com/photos/titrans/8548825587/
|
// Image source https://www.flickr.com/photos/titrans/8548825587/
|
||||||
$file_path = __DIR__ . '/kitten.jpg';
|
$file_path = __DIR__ . '/kitten.jpg';
|
||||||
$result = $this->twitter->upload('media/upload', [
|
$result = $this->twitter->upload('media/upload', [
|
||||||
'media' => $file_path,
|
'media' => $file_path,
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute('media_id_string', $result);
|
$this->assertObjectHasAttribute('media_id_string', $result);
|
||||||
$parameters = [
|
$parameters = [
|
||||||
'status' => 'Hello World ' . MOCK_TIME,
|
'status' => 'Hello World ' . MOCK_TIME,
|
||||||
'media_ids' => $result->media_id_string,
|
'media_ids' => $result->media_id_string,
|
||||||
];
|
];
|
||||||
$result = $this->twitter->post('statuses/update', $parameters);
|
$result = $this->twitter->post('statuses/update', $parameters);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
$result = $this->twitter->post('statuses/destroy/' . $result->id_str);
|
$result = $this->twitter->post('statuses/destroy/' . $result->id_str);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testPostStatusUpdateWithInvalidMediaThrowsException.json
|
* @vcr testPostStatusUpdateWithInvalidMediaThrowsException.json
|
||||||
*/
|
*/
|
||||||
public function testPostStatusUpdateWithInvalidMediaThrowsException()
|
public function testPostStatusUpdateWithInvalidMediaThrowsException()
|
||||||
{
|
{
|
||||||
$this->expectException(\InvalidArgumentException::class);
|
$this->expectException(\InvalidArgumentException::class);
|
||||||
$file_path = __DIR__ . '/12345678900987654321.jpg';
|
$file_path = __DIR__ . '/12345678900987654321.jpg';
|
||||||
$this->assertFalse(\is_readable($file_path));
|
$this->assertFalse(\is_readable($file_path));
|
||||||
$result = $this->twitter->upload('media/upload', [
|
$result = $this->twitter->upload('media/upload', [
|
||||||
'media' => $file_path,
|
'media' => $file_path,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testPostStatusesUpdateWithMediaChunked.json
|
* @vcr testPostStatusesUpdateWithMediaChunked.json
|
||||||
*/
|
*/
|
||||||
public function testPostStatusesUpdateWithMediaChunked()
|
public function testPostStatusesUpdateWithMediaChunked()
|
||||||
{
|
{
|
||||||
$this->twitter->setTimeouts(60, 30);
|
$this->twitter->setTimeouts(60, 30);
|
||||||
// Video source http://www.sample-videos.com/
|
// Video source http://www.sample-videos.com/
|
||||||
$file_path = __DIR__ . '/video.mp4';
|
$file_path = __DIR__ . '/video.mp4';
|
||||||
$result = $this->twitter->upload(
|
$result = $this->twitter->upload(
|
||||||
'media/upload',
|
'media/upload',
|
||||||
['media' => $file_path, 'media_type' => 'video/mp4'],
|
['media' => $file_path, 'media_type' => 'video/mp4'],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$this->assertEquals(201, $this->twitter->getLastHttpCode());
|
$this->assertEquals(201, $this->twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute('media_id_string', $result);
|
$this->assertObjectHasAttribute('media_id_string', $result);
|
||||||
$parameters = [
|
$parameters = [
|
||||||
'status' => 'Hello World ' . MOCK_TIME,
|
'status' => 'Hello World ' . MOCK_TIME,
|
||||||
'media_ids' => $result->media_id_string,
|
'media_ids' => $result->media_id_string,
|
||||||
];
|
];
|
||||||
$result = $this->twitter->post('statuses/update', $parameters);
|
$result = $this->twitter->post('statuses/update', $parameters);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
$result = $this->twitter->post('statuses/destroy/' . $result->id_str);
|
$result = $this->twitter->post('statuses/destroy/' . $result->id_str);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testPostStatusesUpdateUtf8.json
|
* @vcr testPostStatusesUpdateUtf8.json
|
||||||
*/
|
*/
|
||||||
public function testPostStatusesUpdateUtf8()
|
public function testPostStatusesUpdateUtf8()
|
||||||
{
|
{
|
||||||
$result = $this->twitter->post('statuses/update', [
|
$result = $this->twitter->post('statuses/update', [
|
||||||
'status' => 'xこんにちは世界 ' . MOCK_TIME,
|
'status' => 'xこんにちは世界 ' . MOCK_TIME,
|
||||||
]);
|
]);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testPostStatusesUpdateUtf8
|
* @depends testPostStatusesUpdateUtf8
|
||||||
* @vcr testPostStatusesDestroy.json
|
* @vcr testPostStatusesDestroy.json
|
||||||
*/
|
*/
|
||||||
public function testPostStatusesDestroy($status)
|
public function testPostStatusesDestroy($status)
|
||||||
{
|
{
|
||||||
$this->twitter->post('statuses/destroy/' . $status->id_str);
|
$this->twitter->post('statuses/destroy/' . $status->id_str);
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vcr testLastResult.json
|
* @vcr testLastResult.json
|
||||||
*/
|
*/
|
||||||
public function testLastResult()
|
public function testLastResult()
|
||||||
{
|
{
|
||||||
$this->twitter->get('search/tweets', ['q' => 'twitter']);
|
$this->twitter->get('search/tweets', ['q' => 'twitter']);
|
||||||
$this->assertEquals('search/tweets', $this->twitter->getLastApiPath());
|
$this->assertEquals('search/tweets', $this->twitter->getLastApiPath());
|
||||||
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
$this->assertEquals(200, $this->twitter->getLastHttpCode());
|
||||||
$this->assertObjectHasAttribute(
|
$this->assertObjectHasAttribute(
|
||||||
'statuses',
|
'statuses',
|
||||||
$this->twitter->getLastBody()
|
$this->twitter->getLastBody()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testLastResult
|
* @depends testLastResult
|
||||||
* @vcr testResetLastResponse.json
|
* @vcr testResetLastResponse.json
|
||||||
*/
|
*/
|
||||||
public function testResetLastResponse()
|
public function testResetLastResponse()
|
||||||
{
|
{
|
||||||
$this->twitter->resetLastResponse();
|
$this->twitter->resetLastResponse();
|
||||||
$this->assertEquals('', $this->twitter->getLastApiPath());
|
$this->assertEquals('', $this->twitter->getLastApiPath());
|
||||||
$this->assertEquals(0, $this->twitter->getLastHttpCode());
|
$this->assertEquals(0, $this->twitter->getLastHttpCode());
|
||||||
$this->assertEquals([], $this->twitter->getLastBody());
|
$this->assertEquals([], $this->twitter->getLastBody());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,54 +1,54 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth\Tests;
|
namespace Abraham\TwitterOAuth\Tests;
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Abraham\TwitterOAuth\Util\JsonDecoder;
|
use Abraham\TwitterOAuth\Util\JsonDecoder;
|
||||||
|
|
||||||
class JsonDecoderTest extends TestCase
|
class JsonDecoderTest extends TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @dataProvider jsonProvider
|
* @dataProvider jsonProvider
|
||||||
*/
|
*/
|
||||||
public function testDecode($input, $asArray, $expected)
|
public function testDecode($input, $asArray, $expected)
|
||||||
{
|
{
|
||||||
$this->assertEquals($expected, JsonDecoder::decode($input, $asArray));
|
$this->assertEquals($expected, JsonDecoder::decode($input, $asArray));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function jsonProvider()
|
public function jsonProvider()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
['[]', true, []],
|
['[]', true, []],
|
||||||
['[1,2,3]', true, [1, 2, 3]],
|
['[1,2,3]', true, [1, 2, 3]],
|
||||||
[
|
[
|
||||||
'[{"id": 556179961825226750}]',
|
'[{"id": 556179961825226750}]',
|
||||||
true,
|
true,
|
||||||
[['id' => 556179961825226750]],
|
[['id' => 556179961825226750]],
|
||||||
],
|
],
|
||||||
['[]', false, []],
|
['[]', false, []],
|
||||||
['[1,2,3]', false, [1, 2, 3]],
|
['[1,2,3]', false, [1, 2, 3]],
|
||||||
[
|
[
|
||||||
'[{"id": 556179961825226750}]',
|
'[{"id": 556179961825226750}]',
|
||||||
false,
|
false,
|
||||||
[
|
[
|
||||||
$this->getClass(function ($object) {
|
$this->getClass(function ($object) {
|
||||||
$object->id = 556179961825226750;
|
$object->id = 556179961825226750;
|
||||||
return $object;
|
return $object;
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param callable $callable
|
* @param callable $callable
|
||||||
*
|
*
|
||||||
* @return stdClass
|
* @return stdClass
|
||||||
*/
|
*/
|
||||||
private function getClass(\Closure $callable)
|
private function getClass(\Closure $callable)
|
||||||
{
|
{
|
||||||
$object = new \stdClass();
|
$object = new \stdClass();
|
||||||
|
|
||||||
return $callable($object);
|
return $callable($object);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
20
vendor/abraham/twitteroauth/tests/bootstrap.php
vendored
20
vendor/abraham/twitteroauth/tests/bootstrap.php
vendored
|
@ -1,10 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
require __DIR__ . '/../vendor/autoload.php';
|
require __DIR__ . '/../vendor/autoload.php';
|
||||||
require 'vars.php';
|
require 'vars.php';
|
||||||
require 'mocks.php';
|
require 'mocks.php';
|
||||||
|
|
||||||
\VCR\VCR::configure()->setStorage('json');
|
\VCR\VCR::configure()->setStorage('json');
|
||||||
\VCR\VCR::turnOn();
|
\VCR\VCR::turnOn();
|
||||||
|
|
|
@ -1,40 +1,40 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "DELETE",
|
"method": "DELETE",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/direct_messages\/events\/destroy.json?id=1254206523385032714",
|
"url": "https:\/\/api.twitter.com\/1.1\/direct_messages\/events\/destroy.json?id=1254206523385032714",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"dY4KEaTg5Y6Bv4JlofNCjoArx%2F4%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"dY4KEaTg5Y6Bv4JlofNCjoArx%2F4%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "204",
|
"code": "204",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-security-policy": "default-src 'self'; connect-src 'self'; font-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com data:; frame-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; img-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com data:; media-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; object-src 'none'; script-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; style-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; report-uri https:\/\/twitter.com\/i\/csp_report?a=NVQWGYLXFVSG2%3D%3D%3D&ro=false;",
|
"content-security-policy": "default-src 'self'; connect-src 'self'; font-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com data:; frame-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; img-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com data:; media-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; object-src 'none'; script-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; style-src 'self' https:\/\/*.twimg.com https:\/\/twitter.com https:\/\/ton.twitter.com; report-uri https:\/\/twitter.com\/i\/csp_report?a=NVQWGYLXFVSG2%3D%3D%3D&ro=false;",
|
||||||
"content-type": "text\/html;charset=utf-8",
|
"content-type": "text\/html;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:52 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:52 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:52 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:52 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_asAbLVWtv6V2+ARemo0VNA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:52 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111220677678; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:52 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_asAbLVWtv6V2+ARemo0VNA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:52 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111220677678; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:52 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "204 No Content",
|
"status": "204 No Content",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "5cbff6bc4105c0040c4738daac7adcf4",
|
"x-connection-hash": "5cbff6bc4105c0040c4738daac7adcf4",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "37",
|
"x-response-time": "37",
|
||||||
"x-transaction": "00f02f6c00e12e76",
|
"x-transaction": "00f02f6c00e12e76",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,46 +1,46 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/account\/verify_credentials.json?include_email=true&include_entities=false",
|
"url": "https:\/\/api.twitter.com\/1.1\/account\/verify_credentials.json?include_email=true&include_entities=false",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"k8h8edFh9R2W3DCNJy5Nb07tWo0%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"k8h8edFh9R2W3DCNJy5Nb07tWo0%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "773",
|
"content-length": "773",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:11 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:11 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:11 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:11 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_PPOKPD3f\/ek9QM3+ySQxjw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786107181888587; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_PPOKPD3f\/ek9QM3+ySQxjw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786107181888587; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "7509696bc24b6d9d09d283b844a3c232",
|
"x-connection-hash": "7509696bc24b6d9d09d283b844a3c232",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-rate-limit-limit": "75",
|
"x-rate-limit-limit": "75",
|
||||||
"x-rate-limit-remaining": "73",
|
"x-rate-limit-remaining": "73",
|
||||||
"x-rate-limit-reset": "1587861613",
|
"x-rate-limit-reset": "1587861613",
|
||||||
"x-response-time": "46",
|
"x-response-time": "46",
|
||||||
"x-transaction": "00cd4f6300163d67",
|
"x-transaction": "00cd4f6300163d67",
|
||||||
"x-twitter-response-tags": "BouncerExempt, BouncerCompliant",
|
"x-twitter-response-tags": "BouncerExempt, BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":5,\"lang\":null,\"status\":{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":75,\"favorited\":false,\"retweeted\":false,\"lang\":\"en\"},\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\",\"suspended\":false,\"needs_phone_verification\":false,\"email\":\"4braham+oauthlibtest@gmail.com\"}"
|
"body": "{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":5,\"lang\":null,\"status\":{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":75,\"favorited\":false,\"retweeted\":false,\"lang\":\"en\"},\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\",\"suspended\":false,\"needs_phone_verification\":false,\"email\":\"4braham+oauthlibtest@gmail.com\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,46 +1,46 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/oauth2\/token",
|
"url": "https:\/\/api.twitter.com\/oauth2\/token",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "Basic YXdKZk5ENHpGR2FwR09GS2Zkamc6TGZrbU5TUlBJWHdrUWtaVUI5RE5XU3p4NUxJYWl2U2tuVjRyeG5nb2pKYw==",
|
"Authorization": "Basic YXdKZk5ENHpGR2FwR09GS2Zkamc6TGZrbU5TUlBJWHdrUWtaVUI5RE5XU3p4NUxJYWl2U2tuVjRyeG5nb2pKYw==",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
},
|
},
|
||||||
"body": "grant_type=client_credentials"
|
"body": "grant_type=client_credentials"
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "152",
|
"content-length": "152",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:09 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:09 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:09 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:09 GMT",
|
||||||
"ml": "A",
|
"ml": "A",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_NF00blSG9GZe8w8KpZvUDA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786106988547101; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_NF00blSG9GZe8w8KpZvUDA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786106988547101; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-connection-hash": "34e2373c53e7f9e0e80fe6af071dd6b8",
|
"x-connection-hash": "34e2373c53e7f9e0e80fe6af071dd6b8",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "DENY",
|
"x-frame-options": "DENY",
|
||||||
"x-response-time": "20",
|
"x-response-time": "20",
|
||||||
"x-transaction": "007d4d19009f7a59",
|
"x-transaction": "007d4d19009f7a59",
|
||||||
"x-tsa-request-body-time": "0",
|
"x-tsa-request-body-time": "0",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-ua-compatible": "IE=edge,chrome=1",
|
"x-ua-compatible": "IE=edge,chrome=1",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"token_type\":\"bearer\",\"access_token\":\"AAAAAAAAAAAAAAAAAAAAAFobAAAAAAAAjPes3FlPiFKh9HaIg%2Fw80waE0s8%3DQqxjhHDgZyjihGIK7olugzbpS0R1Gg8KNhzmer58a6oVbsSGc0\"}"
|
"body": "{\"token_type\":\"bearer\",\"access_token\":\"AAAAAAAAAAAAAAAAAAAAAFobAAAAAAAAjPes3FlPiFKh9HaIg%2Fw80waE0s8%3DQqxjhHDgZyjihGIK7olugzbpS0R1Gg8KNhzmer58a6oVbsSGc0\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,46 +1,46 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/oauth2\/invalidate_token",
|
"url": "https:\/\/api.twitter.com\/oauth2\/invalidate_token",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "Basic YXdKZk5ENHpGR2FwR09GS2Zkamc6TGZrbU5TUlBJWHdrUWtaVUI5RE5XU3p4NUxJYWl2U2tuVjRyeG5nb2pKYw==",
|
"Authorization": "Basic YXdKZk5ENHpGR2FwR09GS2Zkamc6TGZrbU5TUlBJWHdrUWtaVUI5RE5XU3p4NUxJYWl2U2tuVjRyeG5nb2pKYw==",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
},
|
},
|
||||||
"body": "access_token=AAAAAAAAAAAAAAAAAAAAAFobAAAAAAAAjPes3FlPiFKh9HaIg%2Fw80waE0s8%3DQqxjhHDgZyjihGIK7olugzbpS0R1Gg8KNhzmer58a6oVbsSGc0"
|
"body": "access_token=AAAAAAAAAAAAAAAAAAAAAFobAAAAAAAAjPes3FlPiFKh9HaIg%2Fw80waE0s8%3DQqxjhHDgZyjihGIK7olugzbpS0R1Gg8KNhzmer58a6oVbsSGc0"
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "135",
|
"content-length": "135",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:10 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:10 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:10 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:10 GMT",
|
||||||
"ml": "A",
|
"ml": "A",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_8Iv+DqoXk8DVAVDoUVltSA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107054950627; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_8Iv+DqoXk8DVAVDoUVltSA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107054950627; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-connection-hash": "18b7327592f746230c1c016c344dd14d",
|
"x-connection-hash": "18b7327592f746230c1c016c344dd14d",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "DENY",
|
"x-frame-options": "DENY",
|
||||||
"x-response-time": "19",
|
"x-response-time": "19",
|
||||||
"x-transaction": "00c5257f00b7d371",
|
"x-transaction": "00c5257f00b7d371",
|
||||||
"x-tsa-request-body-time": "0",
|
"x-tsa-request-body-time": "0",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-ua-compatible": "IE=edge,chrome=1",
|
"x-ua-compatible": "IE=edge,chrome=1",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"access_token\":\"AAAAAAAAAAAAAAAAAAAAAFobAAAAAAAAjPes3FlPiFKh9HaIg%2Fw80waE0s8%3DQqxjhHDgZyjihGIK7olugzbpS0R1Gg8KNhzmer58a6oVbsSGc0\"}"
|
"body": "{\"access_token\":\"AAAAAAAAAAAAAAAAAAAAAFobAAAAAAAAjPes3FlPiFKh9HaIg%2Fw80waE0s8%3DQqxjhHDgZyjihGIK7olugzbpS0R1Gg8KNhzmer58a6oVbsSGc0\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,45 +1,45 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/oauth\/access_token",
|
"url": "https:\/\/api.twitter.com\/oauth\/access_token",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"CE545gAAAAAAABtaAAABcbPlJBQ\", oauth_verifier=\"fake_oauth_verifier\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"0bcdtKs3nffzbE5abwaVjCI1HPw%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"CE545gAAAAAAABtaAAABcbPlJBQ\", oauth_verifier=\"fake_oauth_verifier\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"0bcdtKs3nffzbE5abwaVjCI1HPw%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "401",
|
"code": "401",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "93",
|
"content-length": "93",
|
||||||
"content-security-policy": "default-src 'none'; connect-src 'self'; font-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com data:; frame-src 'self' twitter:; img-src https:\/\/abs.twimg.com https:\/\/*.twimg.com https:\/\/pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com https:\/\/twitter.com https:\/\/mobile.twitter.com; style-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com; report-uri https:\/\/twitter.com\/i\/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;",
|
"content-security-policy": "default-src 'none'; connect-src 'self'; font-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com data:; frame-src 'self' twitter:; img-src https:\/\/abs.twimg.com https:\/\/*.twimg.com https:\/\/pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com https:\/\/twitter.com https:\/\/mobile.twitter.com; style-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com; report-uri https:\/\/twitter.com\/i\/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;",
|
||||||
"content-type": "text\/html;charset=utf-8",
|
"content-type": "text\/html;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:11 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:11 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:11 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:11 GMT",
|
||||||
"ml": "A",
|
"ml": "A",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_n0ZAgT2oLIc0HI23qMIGCA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107147893563; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_n0ZAgT2oLIc0HI23qMIGCA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107147893563; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "401 Unauthorized",
|
"status": "401 Unauthorized",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"www-authenticate": "OAuth realm=\"https:\/\/api.twitter.com\"",
|
"www-authenticate": "OAuth realm=\"https:\/\/api.twitter.com\"",
|
||||||
"x-connection-hash": "90157d4bdfce3a9b90fd408819c767bc",
|
"x-connection-hash": "90157d4bdfce3a9b90fd408819c767bc",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "41",
|
"x-response-time": "41",
|
||||||
"x-transaction": "0080cead006a758d",
|
"x-transaction": "0080cead006a758d",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-ua-compatible": "IE=edge,chrome=1",
|
"x-ua-compatible": "IE=edge,chrome=1",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "Error processing your OAuth request: Invalid oauth_verifier parameter"
|
"body": "Error processing your OAuth request: Invalid oauth_verifier parameter"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,44 +1,44 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/oauth\/request_token",
|
"url": "https:\/\/api.twitter.com\/oauth\/request_token",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_callback=\"https%3A%2F%2Ftwitteroauth.com%2Fcallback.php\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"LR7ZVqY%2Fcdisw1w3zssKI6Yjbls%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_callback=\"https%3A%2F%2Ftwitteroauth.com%2Fcallback.php\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"LR7ZVqY%2Fcdisw1w3zssKI6Yjbls%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "127",
|
"content-length": "127",
|
||||||
"content-security-policy": "default-src 'none'; connect-src 'self'; font-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com data:; frame-src 'self' twitter:; img-src https:\/\/abs.twimg.com https:\/\/*.twimg.com https:\/\/pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com https:\/\/twitter.com https:\/\/mobile.twitter.com; style-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com; report-uri https:\/\/twitter.com\/i\/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;",
|
"content-security-policy": "default-src 'none'; connect-src 'self'; font-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com data:; frame-src 'self' twitter:; img-src https:\/\/abs.twimg.com https:\/\/*.twimg.com https:\/\/pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com https:\/\/twitter.com https:\/\/mobile.twitter.com; style-src https:\/\/abs.twimg.com https:\/\/abs-0.twimg.com; report-uri https:\/\/twitter.com\/i\/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;",
|
||||||
"content-type": "text\/html;charset=utf-8",
|
"content-type": "text\/html;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:10 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:10 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:10 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:10 GMT",
|
||||||
"ml": "A",
|
"ml": "A",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_mrnWVDThJvkLcAe4hmX0ng==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107085601318; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_mrnWVDThJvkLcAe4hmX0ng==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107085601318; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:10 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-connection-hash": "bf00d267c647790cd34d8cd4a28f9895",
|
"x-connection-hash": "bf00d267c647790cd34d8cd4a28f9895",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "24",
|
"x-response-time": "24",
|
||||||
"x-transaction": "0095391f006dd965",
|
"x-transaction": "0095391f006dd965",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-ua-compatible": "IE=edge,chrome=1",
|
"x-ua-compatible": "IE=edge,chrome=1",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "oauth_token=CE545gAAAAAAABtaAAABcbPlJBQ&oauth_token_secret=tTVYBva8AlQu0JxVudzbf9oHXAbIARg5&oauth_callback_confirmed=true"
|
"body": "oauth_token=CE545gAAAAAAABtaAAABcbPlJBQ&oauth_token_secret=tTVYBva8AlQu0JxVudzbf9oHXAbIARg5&oauth_callback_confirmed=true"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,43 +1,43 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/oauth\/request_token",
|
"url": "https:\/\/api.twitter.com\/oauth\/request_token",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"CONSUMER_KEY\", oauth_callback=\"https%3A%2F%2Ftwitteroauth.com%2Fcallback.php\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"wOUt6ZyVGpWnQhsHNWqcr%2BpOWAw%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"CONSUMER_KEY\", oauth_callback=\"https%3A%2F%2Ftwitteroauth.com%2Fcallback.php\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"wOUt6ZyVGpWnQhsHNWqcr%2BpOWAw%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "401",
|
"code": "401",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "89",
|
"content-length": "89",
|
||||||
"content-type": "application\/json; charset=utf-8",
|
"content-type": "application\/json; charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:11 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:11 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:11 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:11 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_Vz8Os736+fzUwkQGIeIKuw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107116335546; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_Vz8Os736+fzUwkQGIeIKuw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, guest_id=v1%3A158786107116335546; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:11 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "401 Unauthorized",
|
"status": "401 Unauthorized",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"www-authenticate": "OAuth realm=\"https:\/\/api.twitter.com\", api_error_code=32",
|
"www-authenticate": "OAuth realm=\"https:\/\/api.twitter.com\", api_error_code=32",
|
||||||
"x-connection-hash": "d620dbb5b35e124662532c3ef8e89c88",
|
"x-connection-hash": "d620dbb5b35e124662532c3ef8e89c88",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "6",
|
"x-response-time": "6",
|
||||||
"x-transaction": "00bf1248004cdafa",
|
"x-transaction": "00bf1248004cdafa",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"errors\":[{\"code\":32,\"message\":\"Could not authenticate you.\"}]}"
|
"body": "{\"errors\":[{\"code\":32,\"message\":\"Could not authenticate you.\"}]}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,46 +1,46 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/direct_messages\/events\/new.json",
|
"url": "https:\/\/api.twitter.com\/1.1\/direct_messages\/events\/new.json",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"3457NqeumGmcalZLF091L9lt7F8%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"3457NqeumGmcalZLF091L9lt7F8%3D\"",
|
||||||
"Expect": null,
|
"Expect": null,
|
||||||
"Content-type": "application\/json"
|
"Content-type": "application\/json"
|
||||||
},
|
},
|
||||||
"body": "{\"event\":{\"type\":\"message_create\",\"message_create\":{\"target\":{\"recipient_id\":\"93915746\"},\"message_data\":{\"text\":\"Hello World!\"}}}}"
|
"body": "{\"event\":{\"type\":\"message_create\",\"message_create\":{\"target\":{\"recipient_id\":\"93915746\"},\"message_data\":{\"text\":\"Hello World!\"}}}}"
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "206",
|
"content-length": "206",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:51 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:51 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:51 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:51 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_Tfqxs0gur2QR4FFIZ3Wq6w==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111185015666; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_Tfqxs0gur2QR4FFIZ3Wq6w==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111185015666; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "bb4f30d1c6406b2cd5d25f20fccfdc1a",
|
"x-connection-hash": "bb4f30d1c6406b2cd5d25f20fccfdc1a",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "70",
|
"x-response-time": "70",
|
||||||
"x-transaction": "0057fa4c00fb95a1",
|
"x-transaction": "0057fa4c00fb95a1",
|
||||||
"x-tsa-request-body-time": "0",
|
"x-tsa-request-body-time": "0",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"event\":{\"type\":\"message_create\",\"id\":\"1254206523385032714\",\"created_timestamp\":\"1587861111862\",\"message_create\":{\"target\":{\"recipient_id\":\"93915746\"},\"sender_id\":\"93915746\",\"message_data\":{\"text\":\"Hello World!\",\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]}}}}}"
|
"body": "{\"event\":{\"type\":\"message_create\",\"id\":\"1254206523385032714\",\"created_timestamp\":\"1587861111862\",\"message_create\":{\"target\":{\"recipient_id\":\"93915746\"},\"sender_id\":\"93915746\",\"message_data\":{\"text\":\"Hello World!\",\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]}}}}}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,45 +1,45 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/favorites\/create.json",
|
"url": "https:\/\/api.twitter.com\/1.1\/favorites\/create.json",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"EA30eIQPgat0Aw%2F59GyltEiE4Xg%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"EA30eIQPgat0Aw%2F59GyltEiE4Xg%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
},
|
},
|
||||||
"body": "id=6242973112"
|
"body": "id=6242973112"
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "755",
|
"content-length": "755",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:51 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:51 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:51 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:51 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_Jz87HIDSEIpDevFMBlDD7g==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111115490266; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_Jz87HIDSEIpDevFMBlDD7g==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111115490266; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "7368af4d238e5c36df5379afb1bed3af",
|
"x-connection-hash": "7368af4d238e5c36df5379afb1bed3af",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "72",
|
"x-response-time": "72",
|
||||||
"x-transaction": "0012beac0086638b",
|
"x-transaction": "0012beac0086638b",
|
||||||
"x-tsa-request-body-time": "0",
|
"x-tsa-request-body-time": "0",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":1,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":5,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":76,\"favorited\":true,\"retweeted\":false,\"lang\":\"en\"}"
|
"body": "{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":1,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":5,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":76,\"favorited\":true,\"retweeted\":false,\"lang\":\"en\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,45 +1,45 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/favorites\/destroy.json",
|
"url": "https:\/\/api.twitter.com\/1.1\/favorites\/destroy.json",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"w3Nti04O5BMi8bySXjmO8%2BW5Pus%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"w3Nti04O5BMi8bySXjmO8%2BW5Pus%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
},
|
},
|
||||||
"body": "id=6242973112"
|
"body": "id=6242973112"
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "753",
|
"content-length": "753",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:51 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:51 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:51 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:51 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_s1J1pMUNrQO4\/v371oE9AQ==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111151392082; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_s1J1pMUNrQO4\/v371oE9AQ==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786111151392082; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:51 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "a0dc865f09447e41b0d77e9eed981519",
|
"x-connection-hash": "a0dc865f09447e41b0d77e9eed981519",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "44",
|
"x-response-time": "44",
|
||||||
"x-transaction": "005d9083009bd4c9",
|
"x-transaction": "005d9083009bd4c9",
|
||||||
"x-tsa-request-body-time": "0",
|
"x-tsa-request-body-time": "0",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":5,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":75,\"favorited\":false,\"retweeted\":false,\"lang\":\"en\"}"
|
"body": "{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":5,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":75,\"favorited\":false,\"retweeted\":false,\"lang\":\"en\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,43 +1,43 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/statuses\/destroy\/1254206657548226561.json",
|
"url": "https:\/\/api.twitter.com\/1.1\/statuses\/destroy\/1254206657548226561.json",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"kyOKi3x9Ar3foSG5%2BN9XzBbnIOw%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"kyOKi3x9Ar3foSG5%2BN9XzBbnIOw%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "804",
|
"content-length": "804",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:32:24 GMT",
|
"date": "Sun, 26 Apr 2020 00:32:24 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:32:24 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:32:24 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_juPKvfSeQeQoZAVeLglnhA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:24 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786114418847477; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:24 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_juPKvfSeQeQoZAVeLglnhA==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:24 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786114418847477; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:24 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "f4375157b19d6cd139b9917a6d76d0b0",
|
"x-connection-hash": "f4375157b19d6cd139b9917a6d76d0b0",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "198",
|
"x-response-time": "198",
|
||||||
"x-transaction": "00f3e731001ccb87",
|
"x-transaction": "00f3e731001ccb87",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"created_at\":\"Sun Apr 26 00:32:23 +0000 2020\",\"id\":1254206657548226561,\"id_str\":\"1254206657548226561\",\"text\":\"x\\u3053\\u3093\\u306b\\u3061\\u306f\\u4e16\\u754c 1587861062\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"https:\\\/\\\/twitteroauth.com\\\" rel=\\\"nofollow\\\"\\u003eTwitterOAuth dev\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":6,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":0,\"favorite_count\":0,\"favorited\":false,\"retweeted\":false,\"lang\":\"ja\"}"
|
"body": "{\"created_at\":\"Sun Apr 26 00:32:23 +0000 2020\",\"id\":1254206657548226561,\"id_str\":\"1254206657548226561\",\"text\":\"x\\u3053\\u3093\\u306b\\u3061\\u306f\\u4e16\\u754c 1587861062\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"https:\\\/\\\/twitteroauth.com\\\" rel=\\\"nofollow\\\"\\u003eTwitterOAuth dev\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":6,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":0,\"favorite_count\":0,\"favorited\":false,\"retweeted\":false,\"lang\":\"ja\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,45 +1,45 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/statuses\/update.json",
|
"url": "https:\/\/api.twitter.com\/1.1\/statuses\/update.json",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"zIzkM9jxroYElpL1fPTyYnYE%2Bys%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"zIzkM9jxroYElpL1fPTyYnYE%2Bys%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
},
|
},
|
||||||
"body": "status=x%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E4%B8%96%E7%95%8C%201587861062"
|
"body": "status=x%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E4%B8%96%E7%95%8C%201587861062"
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "804",
|
"content-length": "804",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:32:23 GMT",
|
"date": "Sun, 26 Apr 2020 00:32:23 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:32:23 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:32:23 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_8nFfK\/V8KyJDl1aminWCQw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:23 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786114384224672; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:23 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_8nFfK\/V8KyJDl1aminWCQw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:23 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786114384224672; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:32:23 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "54c0be65e0c80b57d5b7c895e58061c8",
|
"x-connection-hash": "54c0be65e0c80b57d5b7c895e58061c8",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-response-time": "55",
|
"x-response-time": "55",
|
||||||
"x-transaction": "00eb7dbc0057ef33",
|
"x-transaction": "00eb7dbc0057ef33",
|
||||||
"x-tsa-request-body-time": "0",
|
"x-tsa-request-body-time": "0",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"created_at\":\"Sun Apr 26 00:32:23 +0000 2020\",\"id\":1254206657548226561,\"id_str\":\"1254206657548226561\",\"text\":\"x\\u3053\\u3093\\u306b\\u3061\\u306f\\u4e16\\u754c 1587861062\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"https:\\\/\\\/twitteroauth.com\\\" rel=\\\"nofollow\\\"\\u003eTwitterOAuth dev\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":6,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":0,\"favorite_count\":0,\"favorited\":false,\"retweeted\":false,\"lang\":\"ja\"}"
|
"body": "{\"created_at\":\"Sun Apr 26 00:32:23 +0000 2020\",\"id\":1254206657548226561,\"id_str\":\"1254206657548226561\",\"text\":\"x\\u3053\\u3093\\u306b\\u3061\\u306f\\u4e16\\u754c 1587861062\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"https:\\\/\\\/twitteroauth.com\\\" rel=\\\"nofollow\\\"\\u003eTwitterOAuth dev\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"user\":{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":6,\"lang\":null,\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\"},\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":0,\"favorite_count\":0,\"favorited\":false,\"retweeted\":false,\"lang\":\"ja\"}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,46 +1,46 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/friendships\/show.json?target_screen_name=twitterapi",
|
"url": "https:\/\/api.twitter.com\/1.1\/friendships\/show.json?target_screen_name=twitterapi",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"TzPCDLbvxIAlxBqg5Fpf4JZpFJo%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"TzPCDLbvxIAlxBqg5Fpf4JZpFJo%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "2",
|
"http_version": "2",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": ""
|
"message": ""
|
||||||
},
|
},
|
||||||
"headers": {
|
"headers": {
|
||||||
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
"cache-control": "no-cache, no-store, must-revalidate, pre-check=0, post-check=0",
|
||||||
"content-disposition": "attachment; filename=json.json",
|
"content-disposition": "attachment; filename=json.json",
|
||||||
"content-encoding": "gzip",
|
"content-encoding": "gzip",
|
||||||
"content-length": "246",
|
"content-length": "246",
|
||||||
"content-type": "application\/json;charset=utf-8",
|
"content-type": "application\/json;charset=utf-8",
|
||||||
"date": "Sun, 26 Apr 2020 00:31:09 GMT",
|
"date": "Sun, 26 Apr 2020 00:31:09 GMT",
|
||||||
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
"expires": "Tue, 31 Mar 1981 05:00:00 GMT",
|
||||||
"last-modified": "Sun, 26 Apr 2020 00:31:09 GMT",
|
"last-modified": "Sun, 26 Apr 2020 00:31:09 GMT",
|
||||||
"pragma": "no-cache",
|
"pragma": "no-cache",
|
||||||
"server": "tsa_b",
|
"server": "tsa_b",
|
||||||
"set-cookie": "personalization_id=\"v1_1Yr9ogG1fxy1wdDOY63jAw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786106956820884; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
"set-cookie": "personalization_id=\"v1_1Yr9ogG1fxy1wdDOY63jAw==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None, lang=en; Path=\/, guest_id=v1%3A158786106956820884; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:09 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None",
|
||||||
"status": "200 OK",
|
"status": "200 OK",
|
||||||
"strict-transport-security": "max-age=631138519",
|
"strict-transport-security": "max-age=631138519",
|
||||||
"x-access-level": "read-write-directmessages",
|
"x-access-level": "read-write-directmessages",
|
||||||
"x-connection-hash": "e8b1e309982b5c1d1adedc814fa2e6c3",
|
"x-connection-hash": "e8b1e309982b5c1d1adedc814fa2e6c3",
|
||||||
"x-content-type-options": "nosniff",
|
"x-content-type-options": "nosniff",
|
||||||
"x-frame-options": "SAMEORIGIN",
|
"x-frame-options": "SAMEORIGIN",
|
||||||
"x-rate-limit-limit": "180",
|
"x-rate-limit-limit": "180",
|
||||||
"x-rate-limit-remaining": "178",
|
"x-rate-limit-remaining": "178",
|
||||||
"x-rate-limit-reset": "1587861610",
|
"x-rate-limit-reset": "1587861610",
|
||||||
"x-response-time": "20",
|
"x-response-time": "20",
|
||||||
"x-transaction": "0075ffd2008ff583",
|
"x-transaction": "0075ffd2008ff583",
|
||||||
"x-twitter-response-tags": "BouncerCompliant",
|
"x-twitter-response-tags": "BouncerCompliant",
|
||||||
"x-xss-protection": "0"
|
"x-xss-protection": "0"
|
||||||
},
|
},
|
||||||
"body": "{\"relationship\":{\"source\":{\"id\":93915746,\"id_str\":\"93915746\",\"screen_name\":\"oauthlibtest\",\"following\":false,\"followed_by\":false,\"live_following\":false,\"following_received\":false,\"following_requested\":false,\"notifications_enabled\":false,\"can_dm\":false,\"blocking\":false,\"blocked_by\":false,\"muting\":false,\"want_retweets\":false,\"all_replies\":false,\"marked_spam\":false},\"target\":{\"id\":6253282,\"id_str\":\"6253282\",\"screen_name\":\"TwitterAPI\",\"following\":false,\"followed_by\":false,\"following_received\":false,\"following_requested\":false}}}"
|
"body": "{\"relationship\":{\"source\":{\"id\":93915746,\"id_str\":\"93915746\",\"screen_name\":\"oauthlibtest\",\"following\":false,\"followed_by\":false,\"live_following\":false,\"following_received\":false,\"following_requested\":false,\"notifications_enabled\":false,\"can_dm\":false,\"blocking\":false,\"blocked_by\":false,\"muting\":false,\"want_retweets\":false,\"all_replies\":false,\"marked_spam\":false},\"target\":{\"id\":6253282,\"id_str\":\"6253282\",\"screen_name\":\"TwitterAPI\",\"following\":false,\"followed_by\":false,\"following_received\":false,\"following_requested\":false}}}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
|
@ -1,20 +1,20 @@
|
||||||
[{
|
[{
|
||||||
"request": {
|
"request": {
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"url": "https:\/\/api.twitter.com\/1.1\/account\/verify_credentials.json",
|
"url": "https:\/\/api.twitter.com\/1.1\/account\/verify_credentials.json",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Host": "api.twitter.com",
|
"Host": "api.twitter.com",
|
||||||
"Accept": "application\/json",
|
"Accept": "application\/json",
|
||||||
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"ZN1bM0df5EPRy1d7oYcoZfj3Mpw%3D\"",
|
"Authorization": "OAuth oauth_version=\"1.0\", oauth_nonce=\"2b67ebbeace76543f356ba8bbd59abde\", oauth_timestamp=\"1587861062\", oauth_consumer_key=\"awJfND4zFGapGOFKfdjg\", oauth_token=\"93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"ZN1bM0df5EPRy1d7oYcoZfj3Mpw%3D\"",
|
||||||
"Expect": null
|
"Expect": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": {
|
"status": {
|
||||||
"http_version": "1.1",
|
"http_version": "1.1",
|
||||||
"code": "200",
|
"code": "200",
|
||||||
"message": "OK"
|
"message": "OK"
|
||||||
},
|
},
|
||||||
"body": "HTTP\/2 200 \r\ncache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0\r\ncontent-disposition: attachment; filename=json.json\r\ncontent-encoding: gzip\r\ncontent-length: 778\r\ncontent-type: application\/json;charset=utf-8\r\ndate: Sun, 26 Apr 2020 00:31:49 GMT\r\nexpires: Tue, 31 Mar 1981 05:00:00 GMT\r\nlast-modified: Sun, 26 Apr 2020 00:31:49 GMT\r\npragma: no-cache\r\nserver: tsa_a\r\nset-cookie: personalization_id=\"v1_hI7rl+lJjoy5n7HgyNo9LQ==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:49 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None\r\nset-cookie: lang=en; Path=\/\r\nset-cookie: guest_id=v1%3A158786110929931313; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:49 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None\r\nstatus: 200 OK\r\nstrict-transport-security: max-age=631138519\r\nx-access-level: read-write-directmessages\r\nx-connection-hash: 18e8b1b5df2ee964aebf8f85055ada9c\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\nx-rate-limit-limit: 75\r\nx-rate-limit-remaining: 72\r\nx-rate-limit-reset: 1587861178\r\nx-response-time: 34\r\nx-transaction: 00716cfd00f6fd8d\r\nx-twitter-response-tags: BouncerExempt\r\nx-twitter-response-tags: BouncerCompliant\r\nx-xss-protection: 0\r\n\r\n{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":1,\"lang\":null,\"status\":{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":74,\"favorited\":false,\"retweeted\":false,\"lang\":\"en\"},\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\",\"suspended\":false,\"needs_phone_verification\":false}"
|
"body": "HTTP\/2 200 \r\ncache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0\r\ncontent-disposition: attachment; filename=json.json\r\ncontent-encoding: gzip\r\ncontent-length: 778\r\ncontent-type: application\/json;charset=utf-8\r\ndate: Sun, 26 Apr 2020 00:31:49 GMT\r\nexpires: Tue, 31 Mar 1981 05:00:00 GMT\r\nlast-modified: Sun, 26 Apr 2020 00:31:49 GMT\r\npragma: no-cache\r\nserver: tsa_a\r\nset-cookie: personalization_id=\"v1_hI7rl+lJjoy5n7HgyNo9LQ==\"; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:49 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None\r\nset-cookie: lang=en; Path=\/\r\nset-cookie: guest_id=v1%3A158786110929931313; Max-Age=63072000; Expires=Tue, 26 Apr 2022 00:31:49 GMT; Path=\/; Domain=.twitter.com; Secure; SameSite=None\r\nstatus: 200 OK\r\nstrict-transport-security: max-age=631138519\r\nx-access-level: read-write-directmessages\r\nx-connection-hash: 18e8b1b5df2ee964aebf8f85055ada9c\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\nx-rate-limit-limit: 75\r\nx-rate-limit-remaining: 72\r\nx-rate-limit-reset: 1587861178\r\nx-response-time: 34\r\nx-transaction: 00716cfd00f6fd8d\r\nx-twitter-response-tags: BouncerExempt\r\nx-twitter-response-tags: BouncerCompliant\r\nx-xss-protection: 0\r\n\r\n{\"id\":93915746,\"id_str\":\"93915746\",\"name\":\"OAuth Library Test\",\"screen_name\":\"oauthlibtest\",\"location\":\"\",\"description\":\"\",\"url\":null,\"entities\":{\"description\":{\"urls\":[]}},\"protected\":false,\"followers_count\":58,\"friends_count\":2,\"listed_count\":6,\"created_at\":\"Tue Dec 01 18:37:44 +0000 2009\",\"favourites_count\":0,\"utc_offset\":null,\"time_zone\":null,\"geo_enabled\":true,\"verified\":false,\"statuses_count\":1,\"lang\":null,\"status\":{\"created_at\":\"Tue Dec 01 18:38:07 +0000 2009\",\"id\":6242973112,\"id_str\":\"6242973112\",\"text\":\"Test!\",\"truncated\":false,\"entities\":{\"hashtags\":[],\"symbols\":[],\"user_mentions\":[],\"urls\":[]},\"source\":\"\\u003ca href=\\\"http:\\\/\\\/twitter.com\\\" rel=\\\"nofollow\\\"\\u003eTwitter Web Client\\u003c\\\/a\\u003e\",\"in_reply_to_status_id\":null,\"in_reply_to_status_id_str\":null,\"in_reply_to_user_id\":null,\"in_reply_to_user_id_str\":null,\"in_reply_to_screen_name\":null,\"geo\":null,\"coordinates\":null,\"place\":null,\"contributors\":null,\"is_quote_status\":false,\"retweet_count\":2258,\"favorite_count\":74,\"favorited\":false,\"retweeted\":false,\"lang\":\"en\"},\"contributors_enabled\":false,\"is_translator\":false,\"is_translation_enabled\":false,\"profile_background_color\":\"C0DEED\",\"profile_background_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/images\\\/themes\\\/theme1\\\/bg.png\",\"profile_background_tile\":false,\"profile_image_url\":\"http:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_image_url_https\":\"https:\\\/\\\/abs.twimg.com\\\/sticky\\\/default_profile_images\\\/default_profile_normal.png\",\"profile_link_color\":\"1DA1F2\",\"profile_sidebar_border_color\":\"C0DEED\",\"profile_sidebar_fill_color\":\"DDEEF6\",\"profile_text_color\":\"333333\",\"profile_use_background_image\":true,\"has_extended_profile\":false,\"default_profile\":true,\"default_profile_image\":true,\"following\":false,\"follow_request_sent\":false,\"notifications\":false,\"translator_type\":\"none\",\"suspended\":false,\"needs_phone_verification\":false}"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
42
vendor/abraham/twitteroauth/tests/mocks.php
vendored
42
vendor/abraham/twitteroauth/tests/mocks.php
vendored
|
@ -1,21 +1,21 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Abraham\TwitterOAuth;
|
namespace Abraham\TwitterOAuth;
|
||||||
|
|
||||||
// Mock time and random values for consistent tests with VCR
|
// Mock time and random values for consistent tests with VCR
|
||||||
function time()
|
function time()
|
||||||
{
|
{
|
||||||
return MOCK_TIME;
|
return MOCK_TIME;
|
||||||
}
|
}
|
||||||
|
|
||||||
function microtime()
|
function microtime()
|
||||||
{
|
{
|
||||||
return 'FAKE_MICROTIME';
|
return 'FAKE_MICROTIME';
|
||||||
}
|
}
|
||||||
|
|
||||||
function mt_rand()
|
function mt_rand()
|
||||||
{
|
{
|
||||||
return 123456789;
|
return 123456789;
|
||||||
}
|
}
|
||||||
|
|
64
vendor/abraham/twitteroauth/tests/vars.php
vendored
64
vendor/abraham/twitteroauth/tests/vars.php
vendored
|
@ -1,32 +1,32 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
// These keys have been revoked and are only valid for teh VCR cassettes.
|
// These keys have been revoked and are only valid for teh VCR cassettes.
|
||||||
// To request new VCR cassettes please open an issue: https://github.com/abraham/twitteroauth/issues
|
// To request new VCR cassettes please open an issue: https://github.com/abraham/twitteroauth/issues
|
||||||
|
|
||||||
// To update VCR cassettes
|
// To update VCR cassettes
|
||||||
// 1. Delete all `tests/fixtures/*` files
|
// 1. Delete all `tests/fixtures/*` files
|
||||||
// `rm tests/fixtures/*`
|
// `rm tests/fixtures/*`
|
||||||
// 2. Set application and suer authorization credentials below
|
// 2. Set application and suer authorization credentials below
|
||||||
// 3. Set MOCK_TIME to current unix time
|
// 3. Set MOCK_TIME to current unix time
|
||||||
// 4. Run PHPUnit tests
|
// 4. Run PHPUnit tests
|
||||||
// 5. Reset application credentials on Twitter dashboard
|
// 5. Reset application credentials on Twitter dashboard
|
||||||
// 6. Commit new cassettes and revoked credentials
|
// 6. Commit new cassettes and revoked credentials
|
||||||
|
|
||||||
// TwitterOAuth dev
|
// TwitterOAuth dev
|
||||||
define('CONSUMER_KEY', 'awJfND4zFGapGOFKfdjg');
|
define('CONSUMER_KEY', 'awJfND4zFGapGOFKfdjg');
|
||||||
define('CONSUMER_SECRET', 'LfkmNSRPIXwkQkZUB9DNWSzx5LIaivSknV4rxngojJc');
|
define('CONSUMER_SECRET', 'LfkmNSRPIXwkQkZUB9DNWSzx5LIaivSknV4rxngojJc');
|
||||||
define('OAUTH_CALLBACK', 'https://twitteroauth.com/callback.php');
|
define('OAUTH_CALLBACK', 'https://twitteroauth.com/callback.php');
|
||||||
|
|
||||||
// oauthlibtest
|
// oauthlibtest
|
||||||
define('ACCESS_TOKEN', '93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x');
|
define('ACCESS_TOKEN', '93915746-KjE3c27dCt8awONxuUAaJ00yishXXwcH5CdLBnO1x');
|
||||||
define('ACCESS_TOKEN_SECRET', 'vurSbgJw6nHvv7xBfqKnBLWEQekOi59KFkXDLiY3Vqn3u');
|
define('ACCESS_TOKEN_SECRET', 'vurSbgJw6nHvv7xBfqKnBLWEQekOi59KFkXDLiY3Vqn3u');
|
||||||
|
|
||||||
// Timestamp the VCR cassettes were last updated
|
// Timestamp the VCR cassettes were last updated
|
||||||
define('MOCK_TIME', 1587861062);
|
define('MOCK_TIME', 1587861062);
|
||||||
|
|
||||||
// https://free-proxy-list.net/
|
// https://free-proxy-list.net/
|
||||||
define('PROXY', '12.218.209.130');
|
define('PROXY', '12.218.209.130');
|
||||||
define('PROXYUSERPWD', '');
|
define('PROXYUSERPWD', '');
|
||||||
define('PROXYPORT', '53281');
|
define('PROXYPORT', '53281');
|
||||||
|
|
116
vendor/aws/aws-crt-php/.clang-format
vendored
116
vendor/aws/aws-crt-php/.clang-format
vendored
|
@ -1,58 +1,58 @@
|
||||||
---
|
---
|
||||||
Language: Cpp
|
Language: Cpp
|
||||||
# BasedOnStyle: Mozilla
|
# BasedOnStyle: Mozilla
|
||||||
AlignAfterOpenBracket: AlwaysBreak
|
AlignAfterOpenBracket: AlwaysBreak
|
||||||
AlignConsecutiveAssignments: false
|
AlignConsecutiveAssignments: false
|
||||||
AlignConsecutiveDeclarations: false
|
AlignConsecutiveDeclarations: false
|
||||||
AlignEscapedNewlines: Right
|
AlignEscapedNewlines: Right
|
||||||
AlignOperands: true
|
AlignOperands: true
|
||||||
AlignTrailingComments: true
|
AlignTrailingComments: true
|
||||||
AllowAllParametersOfDeclarationOnNextLine: false
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
AllowShortBlocksOnASingleLine: false
|
AllowShortBlocksOnASingleLine: false
|
||||||
AllowShortCaseLabelsOnASingleLine: false
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
AllowShortFunctionsOnASingleLine: Inline
|
AllowShortFunctionsOnASingleLine: Inline
|
||||||
AllowShortIfStatementsOnASingleLine: false
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
AllowShortLoopsOnASingleLine: false
|
AllowShortLoopsOnASingleLine: false
|
||||||
AlwaysBreakAfterReturnType: None
|
AlwaysBreakAfterReturnType: None
|
||||||
AlwaysBreakBeforeMultilineStrings: false
|
AlwaysBreakBeforeMultilineStrings: false
|
||||||
BinPackArguments: false
|
BinPackArguments: false
|
||||||
BinPackParameters: false
|
BinPackParameters: false
|
||||||
BreakBeforeBinaryOperators: None
|
BreakBeforeBinaryOperators: None
|
||||||
BreakBeforeBraces: Attach
|
BreakBeforeBraces: Attach
|
||||||
BreakBeforeTernaryOperators: true
|
BreakBeforeTernaryOperators: true
|
||||||
BreakStringLiterals: true
|
BreakStringLiterals: true
|
||||||
ColumnLimit: 120
|
ColumnLimit: 120
|
||||||
ContinuationIndentWidth: 4
|
ContinuationIndentWidth: 4
|
||||||
DerivePointerAlignment: false
|
DerivePointerAlignment: false
|
||||||
IncludeBlocks: Preserve
|
IncludeBlocks: Preserve
|
||||||
IndentCaseLabels: true
|
IndentCaseLabels: true
|
||||||
IndentPPDirectives: AfterHash
|
IndentPPDirectives: AfterHash
|
||||||
IndentWidth: 4
|
IndentWidth: 4
|
||||||
IndentWrappedFunctionNames: true
|
IndentWrappedFunctionNames: true
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
MacroBlockBegin: ''
|
MacroBlockBegin: ''
|
||||||
MacroBlockEnd: ''
|
MacroBlockEnd: ''
|
||||||
MaxEmptyLinesToKeep: 1
|
MaxEmptyLinesToKeep: 1
|
||||||
PenaltyBreakAssignment: 2
|
PenaltyBreakAssignment: 2
|
||||||
PenaltyBreakBeforeFirstCallParameter: 19
|
PenaltyBreakBeforeFirstCallParameter: 19
|
||||||
PenaltyBreakComment: 300
|
PenaltyBreakComment: 300
|
||||||
PenaltyBreakFirstLessLess: 120
|
PenaltyBreakFirstLessLess: 120
|
||||||
PenaltyBreakString: 1000
|
PenaltyBreakString: 1000
|
||||||
PenaltyExcessCharacter: 1000000
|
PenaltyExcessCharacter: 1000000
|
||||||
PenaltyReturnTypeOnItsOwnLine: 100000
|
PenaltyReturnTypeOnItsOwnLine: 100000
|
||||||
PointerAlignment: Right
|
PointerAlignment: Right
|
||||||
ReflowComments: true
|
ReflowComments: true
|
||||||
SortIncludes: true
|
SortIncludes: true
|
||||||
SpaceAfterCStyleCast: false
|
SpaceAfterCStyleCast: false
|
||||||
SpaceBeforeAssignmentOperators: true
|
SpaceBeforeAssignmentOperators: true
|
||||||
SpaceBeforeParens: ControlStatements
|
SpaceBeforeParens: ControlStatements
|
||||||
SpaceInEmptyParentheses: false
|
SpaceInEmptyParentheses: false
|
||||||
SpacesInContainerLiterals: true
|
SpacesInContainerLiterals: true
|
||||||
SpacesInCStyleCastParentheses: false
|
SpacesInCStyleCastParentheses: false
|
||||||
SpacesInParentheses: false
|
SpacesInParentheses: false
|
||||||
SpacesInSquareBrackets: false
|
SpacesInSquareBrackets: false
|
||||||
Standard: Cpp11
|
Standard: Cpp11
|
||||||
TabWidth: 4
|
TabWidth: 4
|
||||||
UseTab: Never
|
UseTab: Never
|
||||||
...
|
...
|
||||||
|
|
||||||
|
|
8
vendor/aws/aws-crt-php/.clang-format-ignore
vendored
8
vendor/aws/aws-crt-php/.clang-format-ignore
vendored
|
@ -1,4 +1,4 @@
|
||||||
# ignore generated files
|
# ignore generated files
|
||||||
ext/api.h
|
ext/api.h
|
||||||
ext/*_arginfo.h
|
ext/*_arginfo.h
|
||||||
src/api.h
|
src/api.h
|
||||||
|
|
8
vendor/aws/aws-crt-php/CODE_OF_CONDUCT.md
vendored
8
vendor/aws/aws-crt-php/CODE_OF_CONDUCT.md
vendored
|
@ -1,4 +1,4 @@
|
||||||
## Code of Conduct
|
## Code of Conduct
|
||||||
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
||||||
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
||||||
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
||||||
|
|
122
vendor/aws/aws-crt-php/CONTRIBUTING.md
vendored
122
vendor/aws/aws-crt-php/CONTRIBUTING.md
vendored
|
@ -1,61 +1,61 @@
|
||||||
# Contributing Guidelines
|
# Contributing Guidelines
|
||||||
|
|
||||||
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
|
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
|
||||||
documentation, we greatly value feedback and contributions from our community.
|
documentation, we greatly value feedback and contributions from our community.
|
||||||
|
|
||||||
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
|
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
|
||||||
information to effectively respond to your bug report or contribution.
|
information to effectively respond to your bug report or contribution.
|
||||||
|
|
||||||
|
|
||||||
## Reporting Bugs/Feature Requests
|
## Reporting Bugs/Feature Requests
|
||||||
|
|
||||||
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
|
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
|
||||||
|
|
||||||
When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already
|
When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already
|
||||||
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
|
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
|
||||||
|
|
||||||
* A reproducible test case or series of steps
|
* A reproducible test case or series of steps
|
||||||
* The version of our code being used
|
* The version of our code being used
|
||||||
* Any modifications you've made relevant to the bug
|
* Any modifications you've made relevant to the bug
|
||||||
* Anything unusual about your environment or deployment
|
* Anything unusual about your environment or deployment
|
||||||
|
|
||||||
|
|
||||||
## Contributing via Pull Requests
|
## Contributing via Pull Requests
|
||||||
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
|
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
|
||||||
|
|
||||||
1. You are working against the latest source on the *master* branch.
|
1. You are working against the latest source on the *master* branch.
|
||||||
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
|
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
|
||||||
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
|
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
|
||||||
|
|
||||||
To send us a pull request, please:
|
To send us a pull request, please:
|
||||||
|
|
||||||
1. Fork the repository.
|
1. Fork the repository.
|
||||||
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
|
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
|
||||||
3. Ensure local tests pass.
|
3. Ensure local tests pass.
|
||||||
4. Commit to your fork using clear commit messages.
|
4. Commit to your fork using clear commit messages.
|
||||||
5. Send us a pull request, answering any default questions in the pull request interface.
|
5. Send us a pull request, answering any default questions in the pull request interface.
|
||||||
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
|
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
|
||||||
|
|
||||||
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
|
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
|
||||||
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
|
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
|
||||||
|
|
||||||
|
|
||||||
## Finding contributions to work on
|
## Finding contributions to work on
|
||||||
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start.
|
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start.
|
||||||
|
|
||||||
|
|
||||||
## Code of Conduct
|
## Code of Conduct
|
||||||
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
||||||
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
||||||
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
||||||
|
|
||||||
|
|
||||||
## Security issue notifications
|
## Security issue notifications
|
||||||
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
|
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
|
||||||
|
|
||||||
|
|
||||||
## Licensing
|
## Licensing
|
||||||
|
|
||||||
See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
|
See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
|
||||||
|
|
||||||
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
|
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
|
||||||
|
|
350
vendor/aws/aws-crt-php/LICENSE
vendored
350
vendor/aws/aws-crt-php/LICENSE
vendored
|
@ -1,175 +1,175 @@
|
||||||
|
|
||||||
Apache License
|
Apache License
|
||||||
Version 2.0, January 2004
|
Version 2.0, January 2004
|
||||||
http://www.apache.org/licenses/
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
1. Definitions.
|
1. Definitions.
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
the copyright owner that is granting the License.
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
other entities that control, are controlled by, or are under common
|
other entities that control, are controlled by, or are under common
|
||||||
control with that entity. For the purposes of this definition,
|
control with that entity. For the purposes of this definition,
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
direction or management of such entity, whether by contract or
|
direction or management of such entity, whether by contract or
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
exercising permissions granted by this License.
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
including but not limited to software source code, documentation
|
including but not limited to software source code, documentation
|
||||||
source, and configuration files.
|
source, and configuration files.
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
"Object" form shall mean any form resulting from mechanical
|
||||||
transformation or translation of a Source form, including but
|
transformation or translation of a Source form, including but
|
||||||
not limited to compiled object code, generated documentation,
|
not limited to compiled object code, generated documentation,
|
||||||
and conversions to other media types.
|
and conversions to other media types.
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
Object form, made available under the License, as indicated by a
|
Object form, made available under the License, as indicated by a
|
||||||
copyright notice that is included in or attached to the work
|
copyright notice that is included in or attached to the work
|
||||||
(an example is provided in the Appendix below).
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
form, that is based on (or derived from) the Work and for which the
|
form, that is based on (or derived from) the Work and for which the
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
of this License, Derivative Works shall not include works that remain
|
of this License, Derivative Works shall not include works that remain
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
the Work and Derivative Works thereof.
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
"Contribution" shall mean any work of authorship, including
|
||||||
the original version of the Work and any modifications or additions
|
the original version of the Work and any modifications or additions
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
means any form of electronic, verbal, or written communication sent
|
means any form of electronic, verbal, or written communication sent
|
||||||
to the Licensor or its representatives, including but not limited to
|
to the Licensor or its representatives, including but not limited to
|
||||||
communication on electronic mailing lists, source code control systems,
|
communication on electronic mailing lists, source code control systems,
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
excluding communication that is conspicuously marked or otherwise
|
excluding communication that is conspicuously marked or otherwise
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
subsequently incorporated within the Work.
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
Work and such Derivative Works in Source or Object form.
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
(except as stated in this section) patent license to make, have made,
|
(except as stated in this section) patent license to make, have made,
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
where such license applies only to those patent claims licensable
|
where such license applies only to those patent claims licensable
|
||||||
by such Contributor that are necessarily infringed by their
|
by such Contributor that are necessarily infringed by their
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
institute patent litigation against any entity (including a
|
institute patent litigation against any entity (including a
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
or contributory patent infringement, then any patent licenses
|
or contributory patent infringement, then any patent licenses
|
||||||
granted to You under this License for that Work shall terminate
|
granted to You under this License for that Work shall terminate
|
||||||
as of the date such litigation is filed.
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
modifications, and in Source or Object form, provided that You
|
modifications, and in Source or Object form, provided that You
|
||||||
meet the following conditions:
|
meet the following conditions:
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
(a) You must give any other recipients of the Work or
|
||||||
Derivative Works a copy of this License; and
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
(b) You must cause any modified files to carry prominent notices
|
||||||
stating that You changed the files; and
|
stating that You changed the files; and
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
that You distribute, all copyright, patent, trademark, and
|
that You distribute, all copyright, patent, trademark, and
|
||||||
attribution notices from the Source form of the Work,
|
attribution notices from the Source form of the Work,
|
||||||
excluding those notices that do not pertain to any part of
|
excluding those notices that do not pertain to any part of
|
||||||
the Derivative Works; and
|
the Derivative Works; and
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
distribution, then any Derivative Works that You distribute must
|
distribution, then any Derivative Works that You distribute must
|
||||||
include a readable copy of the attribution notices contained
|
include a readable copy of the attribution notices contained
|
||||||
within such NOTICE file, excluding those notices that do not
|
within such NOTICE file, excluding those notices that do not
|
||||||
pertain to any part of the Derivative Works, in at least one
|
pertain to any part of the Derivative Works, in at least one
|
||||||
of the following places: within a NOTICE text file distributed
|
of the following places: within a NOTICE text file distributed
|
||||||
as part of the Derivative Works; within the Source form or
|
as part of the Derivative Works; within the Source form or
|
||||||
documentation, if provided along with the Derivative Works; or,
|
documentation, if provided along with the Derivative Works; or,
|
||||||
within a display generated by the Derivative Works, if and
|
within a display generated by the Derivative Works, if and
|
||||||
wherever such third-party notices normally appear. The contents
|
wherever such third-party notices normally appear. The contents
|
||||||
of the NOTICE file are for informational purposes only and
|
of the NOTICE file are for informational purposes only and
|
||||||
do not modify the License. You may add Your own attribution
|
do not modify the License. You may add Your own attribution
|
||||||
notices within Derivative Works that You distribute, alongside
|
notices within Derivative Works that You distribute, alongside
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
that such additional attribution notices cannot be construed
|
that such additional attribution notices cannot be construed
|
||||||
as modifying the License.
|
as modifying the License.
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
You may add Your own copyright statement to Your modifications and
|
||||||
may provide additional or different license terms and conditions
|
may provide additional or different license terms and conditions
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
the conditions stated in this License.
|
the conditions stated in this License.
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
this License, without any additional terms or conditions.
|
this License, without any additional terms or conditions.
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
the terms of any separate license agreement you may have executed
|
the terms of any separate license agreement you may have executed
|
||||||
with Licensor regarding such Contributions.
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
except as required for reasonable and customary use in describing the
|
except as required for reasonable and customary use in describing the
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
implied, including, without limitation, any warranties or conditions
|
implied, including, without limitation, any warranties or conditions
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
appropriateness of using or redistributing the Work and assume any
|
appropriateness of using or redistributing the Work and assume any
|
||||||
risks associated with Your exercise of permissions under this License.
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
unless required by applicable law (such as deliberate and grossly
|
unless required by applicable law (such as deliberate and grossly
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
liable to You for damages, including any direct, indirect, special,
|
liable to You for damages, including any direct, indirect, special,
|
||||||
incidental, or consequential damages of any character arising as a
|
incidental, or consequential damages of any character arising as a
|
||||||
result of this License or out of the use or inability to use the
|
result of this License or out of the use or inability to use the
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
other commercial damages or losses), even if such Contributor
|
other commercial damages or losses), even if such Contributor
|
||||||
has been advised of the possibility of such damages.
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
or other liability obligations and/or rights consistent with this
|
or other liability obligations and/or rights consistent with this
|
||||||
License. However, in accepting such obligations, You may act only
|
License. However, in accepting such obligations, You may act only
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
defend, and hold each Contributor harmless for any liability
|
defend, and hold each Contributor harmless for any liability
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
of your accepting any such warranty or additional liability.
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
144
vendor/aws/aws-crt-php/Makefile.frag
vendored
144
vendor/aws/aws-crt-php/Makefile.frag
vendored
|
@ -1,72 +1,72 @@
|
||||||
|
|
||||||
INT_DIR=build/install
|
INT_DIR=build/install
|
||||||
GENERATE_STUBS=$(shell expr `php --version | head -1 | cut -f 2 -d' '` \>= 7.1)
|
GENERATE_STUBS=$(shell expr `php --version | head -1 | cut -f 2 -d' '` \>= 7.1)
|
||||||
|
|
||||||
CMAKE = cmake3
|
CMAKE = cmake3
|
||||||
ifeq (, $(shell which cmake3))
|
ifeq (, $(shell which cmake3))
|
||||||
CMAKE = cmake
|
CMAKE = cmake
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# default to using system OpenSSL, if disabled aws-lc will be used
|
# default to using system OpenSSL, if disabled aws-lc will be used
|
||||||
USE_OPENSSL ?= ON
|
USE_OPENSSL ?= ON
|
||||||
ifneq (OFF,$(USE_OPENSSL))
|
ifneq (OFF,$(USE_OPENSSL))
|
||||||
CMAKE_USE_OPENSSL=-DUSE_OPENSSL=ON
|
CMAKE_USE_OPENSSL=-DUSE_OPENSSL=ON
|
||||||
# if a path was provided, add it to CMAKE_PREFIX_PATH
|
# if a path was provided, add it to CMAKE_PREFIX_PATH
|
||||||
ifneq (ON,$(USE_OPENSSL))
|
ifneq (ON,$(USE_OPENSSL))
|
||||||
CMAKE_PREFIX_PATH=-DCMAKE_PREFIX_PATH=$(USE_OPENSSL)
|
CMAKE_PREFIX_PATH=-DCMAKE_PREFIX_PATH=$(USE_OPENSSL)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CMAKE_CONFIGURE = $(CMAKE) \
|
CMAKE_CONFIGURE = $(CMAKE) \
|
||||||
-DCMAKE_INSTALL_PREFIX=$(INT_DIR) \
|
-DCMAKE_INSTALL_PREFIX=$(INT_DIR) \
|
||||||
-DBUILD_TESTING=OFF \
|
-DBUILD_TESTING=OFF \
|
||||||
-DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) \
|
-DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) \
|
||||||
$(CMAKE_USE_OPENSSL) \
|
$(CMAKE_USE_OPENSSL) \
|
||||||
$(CMAKE_PREFIX_PATH)
|
$(CMAKE_PREFIX_PATH)
|
||||||
CMAKE_BUILD = CMAKE_BUILD_PARALLEL_LEVEL='' $(CMAKE) --build
|
CMAKE_BUILD = CMAKE_BUILD_PARALLEL_LEVEL='' $(CMAKE) --build
|
||||||
CMAKE_BUILD_TYPE ?= RelWithDebInfo
|
CMAKE_BUILD_TYPE ?= RelWithDebInfo
|
||||||
CMAKE_TARGET = --config $(CMAKE_BUILD_TYPE) --target install
|
CMAKE_TARGET = --config $(CMAKE_BUILD_TYPE) --target install
|
||||||
|
|
||||||
all: extension
|
all: extension
|
||||||
.PHONY: all extension
|
.PHONY: all extension
|
||||||
|
|
||||||
# configure for static aws-crt-ffi.a
|
# configure for static aws-crt-ffi.a
|
||||||
build/aws-crt-ffi-static/CMakeCache.txt:
|
build/aws-crt-ffi-static/CMakeCache.txt:
|
||||||
$(CMAKE_CONFIGURE) -Hcrt/aws-crt-ffi -Bbuild/aws-crt-ffi-static -DBUILD_SHARED_LIBS=OFF
|
$(CMAKE_CONFIGURE) -Hcrt/aws-crt-ffi -Bbuild/aws-crt-ffi-static -DBUILD_SHARED_LIBS=OFF
|
||||||
|
|
||||||
# build static libaws-crt-ffi.a
|
# build static libaws-crt-ffi.a
|
||||||
build/aws-crt-ffi-static/libaws-crt-ffi.a: build/aws-crt-ffi-static/CMakeCache.txt
|
build/aws-crt-ffi-static/libaws-crt-ffi.a: build/aws-crt-ffi-static/CMakeCache.txt
|
||||||
$(CMAKE_BUILD) build/aws-crt-ffi-static $(CMAKE_TARGET)
|
$(CMAKE_BUILD) build/aws-crt-ffi-static $(CMAKE_TARGET)
|
||||||
|
|
||||||
# PHP extension target
|
# PHP extension target
|
||||||
extension: ext/awscrt.lo
|
extension: ext/awscrt.lo
|
||||||
|
|
||||||
# Force the crt object target to depend on the CRT static library
|
# Force the crt object target to depend on the CRT static library
|
||||||
ext/awscrt.lo: ext/awscrt.c
|
ext/awscrt.lo: ext/awscrt.c
|
||||||
|
|
||||||
ext/awscrt.c: build/aws-crt-ffi-static/libaws-crt-ffi.a ext/api.h ext/awscrt_arginfo.h
|
ext/awscrt.c: build/aws-crt-ffi-static/libaws-crt-ffi.a ext/api.h ext/awscrt_arginfo.h
|
||||||
|
|
||||||
ext/awscrt_arginfo.h: ext/awscrt.stub.php gen_stub.php
|
ext/awscrt_arginfo.h: ext/awscrt.stub.php gen_stub.php
|
||||||
ifeq ($(GENERATE_STUBS),1)
|
ifeq ($(GENERATE_STUBS),1)
|
||||||
# generate awscrt_arginfo.h
|
# generate awscrt_arginfo.h
|
||||||
php gen_stub.php --minimal-arginfo ext/awscrt.stub.php
|
php gen_stub.php --minimal-arginfo ext/awscrt.stub.php
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# transform/install api.h from FFI lib
|
# transform/install api.h from FFI lib
|
||||||
src/api.h: crt/aws-crt-ffi/src/api.h
|
src/api.h: crt/aws-crt-ffi/src/api.h
|
||||||
php gen_api.php crt/aws-crt-ffi/src/api.h > src/api.h
|
php gen_api.php crt/aws-crt-ffi/src/api.h > src/api.h
|
||||||
|
|
||||||
# install api.h to ext/ as well
|
# install api.h to ext/ as well
|
||||||
ext/api.h : src/api.h
|
ext/api.h : src/api.h
|
||||||
cp -v src/api.h ext/api.h
|
cp -v src/api.h ext/api.h
|
||||||
|
|
||||||
ext/php_aws_crt.h: ext/awscrt_arginfo.h ext/api.h
|
ext/php_aws_crt.h: ext/awscrt_arginfo.h ext/api.h
|
||||||
|
|
||||||
vendor/bin/phpunit:
|
vendor/bin/phpunit:
|
||||||
composer update
|
composer update
|
||||||
|
|
||||||
test-extension: vendor/bin/phpunit extension
|
test-extension: vendor/bin/phpunit extension
|
||||||
composer run test-extension
|
composer run test-extension
|
||||||
|
|
||||||
# Use PHPUnit to run tests
|
# Use PHPUnit to run tests
|
||||||
test: test-extension
|
test: test-extension
|
||||||
|
|
70
vendor/aws/aws-crt-php/Makefile.frag.w32
vendored
70
vendor/aws/aws-crt-php/Makefile.frag.w32
vendored
|
@ -1,35 +1,35 @@
|
||||||
|
|
||||||
CMAKE=cmake.exe
|
CMAKE=cmake.exe
|
||||||
COMPOSER_PHAR=C:\ProgramData\ComposerSetup\bin\composer.phar
|
COMPOSER_PHAR=C:\ProgramData\ComposerSetup\bin\composer.phar
|
||||||
PHP_BINARY=$(PHP_PREFIX)\php.exe
|
PHP_BINARY=$(PHP_PREFIX)\php.exe
|
||||||
|
|
||||||
CMAKE_CONFIGURE = $(CMAKE) -DCMAKE_INSTALL_PREFIX=$(AWSCRT_DIR)\build\install -DCMAKE_PREFIX_PATH=$(AWSCRT_DIR)\build\install -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE)
|
CMAKE_CONFIGURE = $(CMAKE) -DCMAKE_INSTALL_PREFIX=$(AWSCRT_DIR)\build\install -DCMAKE_PREFIX_PATH=$(AWSCRT_DIR)\build\install -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE)
|
||||||
CMAKE_BUILD = $(CMAKE) --build
|
CMAKE_BUILD = $(CMAKE) --build
|
||||||
CMAKE_BUILD_TYPE = Release
|
CMAKE_BUILD_TYPE = Release
|
||||||
CMAKE_TARGET = --config $(CMAKE_BUILD_TYPE) --target install
|
CMAKE_TARGET = --config $(CMAKE_BUILD_TYPE) --target install
|
||||||
|
|
||||||
# configure for static aws-crt-ffi.lib
|
# configure for static aws-crt-ffi.lib
|
||||||
$(AWSCRT_DIR)\build\CMakeCache.txt:
|
$(AWSCRT_DIR)\build\CMakeCache.txt:
|
||||||
$(CMAKE_CONFIGURE) -H$(AWSCRT_DIR)\crt\aws-crt-ffi -B$(AWSCRT_DIR)\build -DBUILD_SHARED_LIBS=OFF
|
$(CMAKE_CONFIGURE) -H$(AWSCRT_DIR)\crt\aws-crt-ffi -B$(AWSCRT_DIR)\build -DBUILD_SHARED_LIBS=OFF
|
||||||
|
|
||||||
# build static libaws-crt-ffi.lib
|
# build static libaws-crt-ffi.lib
|
||||||
$(AWSCRT_DIR)\build\libaws-crt-ffi.lib: $(AWSCRT_DIR)\build\CMakeCache.txt
|
$(AWSCRT_DIR)\build\libaws-crt-ffi.lib: $(AWSCRT_DIR)\build\CMakeCache.txt
|
||||||
$(CMAKE_BUILD) $(AWSCRT_DIR)\build $(CMAKE_TARGET)
|
$(CMAKE_BUILD) $(AWSCRT_DIR)\build $(CMAKE_TARGET)
|
||||||
|
|
||||||
# Force the awscrt extension DLL target to depend on the extension src
|
# Force the awscrt extension DLL target to depend on the extension src
|
||||||
$(BUILD_DIR)\php_awscrt.dll: $(AWSCRT_DIR)\ext\awscrt.c
|
$(BUILD_DIR)\php_awscrt.dll: $(AWSCRT_DIR)\ext\awscrt.c
|
||||||
|
|
||||||
$(AWSCRT_DIR)\ext\awscrt.c: $(AWSCRT_DIR)\build\libaws-crt-ffi.lib $(AWSCRT_DIR)\ext\api.h $(AWSCRT_DIR)\ext\awscrt_arginfo.h
|
$(AWSCRT_DIR)\ext\awscrt.c: $(AWSCRT_DIR)\build\libaws-crt-ffi.lib $(AWSCRT_DIR)\ext\api.h $(AWSCRT_DIR)\ext\awscrt_arginfo.h
|
||||||
|
|
||||||
# transform\install api.h from FFI lib
|
# transform\install api.h from FFI lib
|
||||||
$(AWSCRT_DIR)\src\api.h: $(AWSCRT_DIR)\crt\aws-crt-ffi\src\api.h
|
$(AWSCRT_DIR)\src\api.h: $(AWSCRT_DIR)\crt\aws-crt-ffi\src\api.h
|
||||||
php $(AWSCRT_DIR)\gen_api.php $(AWSCRT_DIR)\crt\aws-crt-ffi\src\api.h > $(AWSCRT_DIR)\src\api.h
|
php $(AWSCRT_DIR)\gen_api.php $(AWSCRT_DIR)\crt\aws-crt-ffi\src\api.h > $(AWSCRT_DIR)\src\api.h
|
||||||
|
|
||||||
# install api.h to ext/ as well
|
# install api.h to ext/ as well
|
||||||
$(AWSCRT_DIR)\ext\api.h : $(AWSCRT_DIR)\src\api.h
|
$(AWSCRT_DIR)\ext\api.h : $(AWSCRT_DIR)\src\api.h
|
||||||
copy $(AWSCRT_DIR)\src\api.h $(AWSCRT_DIR)\ext\api.h
|
copy $(AWSCRT_DIR)\src\api.h $(AWSCRT_DIR)\ext\api.h
|
||||||
|
|
||||||
# Use PHPUnit to run tests
|
# Use PHPUnit to run tests
|
||||||
test-awscrt: install $(AWSCRT_DIR)\src\api.h $(BUILD_DIR)\php_awscrt.dll
|
test-awscrt: install $(AWSCRT_DIR)\src\api.h $(BUILD_DIR)\php_awscrt.dll
|
||||||
$(PHP_BINARY) -c $(AWSCRT_DIR)\php-win.ini $(COMPOSER_PHAR) --working-dir=$(AWSCRT_DIR) update
|
$(PHP_BINARY) -c $(AWSCRT_DIR)\php-win.ini $(COMPOSER_PHAR) --working-dir=$(AWSCRT_DIR) update
|
||||||
$(PHP_BINARY) -c $(AWSCRT_DIR)\php-win.ini $(COMPOSER_PHAR) --working-dir=$(AWSCRT_DIR) run test-win
|
$(PHP_BINARY) -c $(AWSCRT_DIR)\php-win.ini $(COMPOSER_PHAR) --working-dir=$(AWSCRT_DIR) run test-win
|
||||||
|
|
2
vendor/aws/aws-crt-php/NOTICE
vendored
2
vendor/aws/aws-crt-php/NOTICE
vendored
|
@ -1 +1 @@
|
||||||
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
|
|
74
vendor/aws/aws-crt-php/builder.json
vendored
74
vendor/aws/aws-crt-php/builder.json
vendored
|
@ -1,37 +1,37 @@
|
||||||
{
|
{
|
||||||
"name": "aws-crt-php",
|
"name": "aws-crt-php",
|
||||||
"hosts": {
|
"hosts": {
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
"pkg_setup": [
|
"pkg_setup": [
|
||||||
"add-apt-repository -y ppa:ondrej/php"
|
"add-apt-repository -y ppa:ondrej/php"
|
||||||
],
|
],
|
||||||
"packages": [
|
"packages": [
|
||||||
"autotools-dev",
|
"autotools-dev",
|
||||||
"autoconf",
|
"autoconf",
|
||||||
"libtool",
|
"libtool",
|
||||||
"clang",
|
"clang",
|
||||||
"php5.6-dev"
|
"php5.6-dev"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"al2": {
|
"al2": {
|
||||||
"packages": [
|
"packages": [
|
||||||
"autoconf",
|
"autoconf",
|
||||||
"automake",
|
"automake",
|
||||||
"libtool",
|
"libtool",
|
||||||
"clang",
|
"clang",
|
||||||
"php-devel"
|
"php-devel"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"build_steps": [
|
"build_steps": [
|
||||||
["phpize"],
|
["phpize"],
|
||||||
["./configure"],
|
["./configure"],
|
||||||
["make"]
|
["make"]
|
||||||
],
|
],
|
||||||
"test_env": {
|
"test_env": {
|
||||||
"NO_INTERACTION": "1"
|
"NO_INTERACTION": "1"
|
||||||
},
|
},
|
||||||
"test_steps": [
|
"test_steps": [
|
||||||
["./run_tests"]
|
["./run_tests"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
68
vendor/aws/aws-crt-php/composer.json
vendored
68
vendor/aws/aws-crt-php/composer.json
vendored
|
@ -1,34 +1,34 @@
|
||||||
{
|
{
|
||||||
"name": "aws/aws-crt-php",
|
"name": "aws/aws-crt-php",
|
||||||
"homepage": "http://aws.amazon.com/sdkforphp",
|
"homepage": "http://aws.amazon.com/sdkforphp",
|
||||||
"description": "AWS Common Runtime for PHP",
|
"description": "AWS Common Runtime for PHP",
|
||||||
"keywords": ["aws","amazon","sdk","crt"],
|
"keywords": ["aws","amazon","sdk","crt"],
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "AWS SDK Common Runtime Team",
|
"name": "AWS SDK Common Runtime Team",
|
||||||
"email": "aws-sdk-common-runtime@amazon.com"
|
"email": "aws-sdk-common-runtime@amazon.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"config": {
|
"config": {
|
||||||
"platform": {"php": "5.6"}
|
"platform": {"php": "5.6"}
|
||||||
},
|
},
|
||||||
"minimum-stability": "alpha",
|
"minimum-stability": "alpha",
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.5"
|
"php": ">=5.5"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit":"^4.8.35|^5.4.3"
|
"phpunit/phpunit":"^4.8.35|^5.4.3"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"classmap": [
|
"classmap": [
|
||||||
"src/"
|
"src/"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "./run_tests",
|
"test": "./run_tests",
|
||||||
"test-extension": "@test",
|
"test-extension": "@test",
|
||||||
"test-win": "run_tests"
|
"test-win": "run_tests"
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
}
|
}
|
||||||
|
|
60
vendor/aws/aws-crt-php/config.m4
vendored
60
vendor/aws/aws-crt-php/config.m4
vendored
|
@ -1,30 +1,30 @@
|
||||||
dnl
|
dnl
|
||||||
dnl * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
dnl * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
dnl * SPDX-License-Identifier: Apache-2.0.
|
dnl * SPDX-License-Identifier: Apache-2.0.
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
PHP_ARG_WITH(awscrt, for AWS Common Runtime support,
|
PHP_ARG_WITH(awscrt, for AWS Common Runtime support,
|
||||||
[ --with-awscrt Include awscrt support])
|
[ --with-awscrt Include awscrt support])
|
||||||
|
|
||||||
if test "$PHP_AWSCRT" != "no"; then
|
if test "$PHP_AWSCRT" != "no"; then
|
||||||
# force lib paths to be absolute, or PHP will mangle them
|
# force lib paths to be absolute, or PHP will mangle them
|
||||||
cwd=`pwd`
|
cwd=`pwd`
|
||||||
# Enable s2n and libcrypto for non-darwin UNIX
|
# Enable s2n and libcrypto for non-darwin UNIX
|
||||||
if uname -a | grep -i darwin > /dev/null 2>&1; then
|
if uname -a | grep -i darwin > /dev/null 2>&1; then
|
||||||
platform_tls_libs=""
|
platform_tls_libs=""
|
||||||
else
|
else
|
||||||
platform_tls_libs="-ls2n -lcrypto"
|
platform_tls_libs="-ls2n -lcrypto"
|
||||||
fi
|
fi
|
||||||
CRT_LIBPATHS="-L${cwd}/build/install/lib -L${cwd}/build/install/lib64"
|
CRT_LIBPATHS="-L${cwd}/build/install/lib -L${cwd}/build/install/lib64"
|
||||||
CRT_LIBS="-laws-crt-ffi -laws-c-auth -laws-c-http -laws-c-io -laws-c-cal -laws-c-compression -laws-checksums -laws-c-common ${platform_tls_libs}"
|
CRT_LIBS="-laws-crt-ffi -laws-c-auth -laws-c-http -laws-c-io -laws-c-cal -laws-c-compression -laws-checksums -laws-c-common ${platform_tls_libs}"
|
||||||
PHP_ADD_INCLUDE(${cwd}/build/install/include)
|
PHP_ADD_INCLUDE(${cwd}/build/install/include)
|
||||||
PHP_EVAL_LIBLINE([$CRT_LIBPATHS $CRT_LIBS], AWSCRT_SHARED_LIBADD)
|
PHP_EVAL_LIBLINE([$CRT_LIBPATHS $CRT_LIBS], AWSCRT_SHARED_LIBADD)
|
||||||
|
|
||||||
# Shoves the linker line into the Makefile
|
# Shoves the linker line into the Makefile
|
||||||
PHP_SUBST(AWSCRT_SHARED_LIBADD)
|
PHP_SUBST(AWSCRT_SHARED_LIBADD)
|
||||||
|
|
||||||
# Sources for the PHP extension itself
|
# Sources for the PHP extension itself
|
||||||
AWSCRT_SOURCES=ext/awscrt.c
|
AWSCRT_SOURCES=ext/awscrt.c
|
||||||
PHP_NEW_EXTENSION(awscrt, $AWSCRT_SOURCES, $ext_shared)
|
PHP_NEW_EXTENSION(awscrt, $AWSCRT_SOURCES, $ext_shared)
|
||||||
PHP_ADD_MAKEFILE_FRAGMENT
|
PHP_ADD_MAKEFILE_FRAGMENT
|
||||||
fi
|
fi
|
||||||
|
|
26
vendor/aws/aws-crt-php/config.w32
vendored
26
vendor/aws/aws-crt-php/config.w32
vendored
|
@ -1,13 +1,13 @@
|
||||||
// vim:ft=javascript
|
// vim:ft=javascript
|
||||||
|
|
||||||
ARG_ENABLE("awscrt", "Include AWS Common Runtime support", "yes");
|
ARG_ENABLE("awscrt", "Include AWS Common Runtime support", "yes");
|
||||||
|
|
||||||
if (PHP_AWSCRT != "no") {
|
if (PHP_AWSCRT != "no") {
|
||||||
ADD_MAKEFILE_FRAGMENT();
|
ADD_MAKEFILE_FRAGMENT();
|
||||||
DEFINE('CFLAGS_AWSCRT', '/I ' + configure_module_dirname + '\\build\\install\\include');
|
DEFINE('CFLAGS_AWSCRT', '/I ' + configure_module_dirname + '\\build\\install\\include');
|
||||||
DEFINE('LIBS_AWSCRT', '/LIBPATH:' + configure_module_dirname + '\\build\\install\\lib ' +
|
DEFINE('LIBS_AWSCRT', '/LIBPATH:' + configure_module_dirname + '\\build\\install\\lib ' +
|
||||||
'aws-crt-ffi.lib aws-c-auth.lib aws-c-http.lib aws-c-io.lib aws-c-cal.lib aws-c-compression.lib aws-c-common.lib ' +
|
'aws-crt-ffi.lib aws-c-auth.lib aws-c-http.lib aws-c-io.lib aws-c-cal.lib aws-c-compression.lib aws-c-common.lib ' +
|
||||||
'ncrypt.lib Secur32.lib Crypt32.lib Shlwapi.lib');
|
'ncrypt.lib Secur32.lib Crypt32.lib Shlwapi.lib');
|
||||||
DEFINE('AWSCRT_DIR', configure_module_dirname);
|
DEFINE('AWSCRT_DIR', configure_module_dirname);
|
||||||
EXTENSION("awscrt", "ext\\awscrt.c", PHP_AWSCRT_SHARED);
|
EXTENSION("awscrt", "ext\\awscrt.c", PHP_AWSCRT_SHARED);
|
||||||
}
|
}
|
||||||
|
|
34
vendor/aws/aws-crt-php/ext/awscrt.c
vendored
34
vendor/aws/aws-crt-php/ext/awscrt.c
vendored
|
@ -1,17 +1,17 @@
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* This is a unity-build style source file, as PHP's build system is simplest with 1 source file per extension */
|
/* This is a unity-build style source file, as PHP's build system is simplest with 1 source file per extension */
|
||||||
|
|
||||||
#include "credentials.c"
|
#include "credentials.c"
|
||||||
#include "crt.c"
|
#include "crt.c"
|
||||||
#include "event_loop.c"
|
#include "event_loop.c"
|
||||||
#include "http.c"
|
#include "http.c"
|
||||||
#include "signing.c"
|
#include "signing.c"
|
||||||
#include "stream.c"
|
#include "stream.c"
|
||||||
// #include "hash.c"
|
// #include "hash.c"
|
||||||
#include "crc.c"
|
#include "crc.c"
|
||||||
#include "logging.c"
|
#include "logging.c"
|
||||||
#include "php_util.c"
|
#include "php_util.c"
|
||||||
|
|
176
vendor/aws/aws-crt-php/ext/awscrt.stub.php
vendored
176
vendor/aws/aws-crt-php/ext/awscrt.stub.php
vendored
|
@ -1,88 +1,88 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generate-class-entries
|
* @generate-class-entries
|
||||||
* @generate-function-entries
|
* @generate-function-entries
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function aws_crt_last_error(): int {}
|
function aws_crt_last_error(): int {}
|
||||||
function aws_crt_error_name(int $error_code): string {}
|
function aws_crt_error_name(int $error_code): string {}
|
||||||
function aws_crt_error_str(int $error_code): string {}
|
function aws_crt_error_str(int $error_code): string {}
|
||||||
function aws_crt_error_debug_str(int $error_code): string {}
|
function aws_crt_error_debug_str(int $error_code): string {}
|
||||||
|
|
||||||
function aws_crt_log_to_stdout(): void {}
|
function aws_crt_log_to_stdout(): void {}
|
||||||
function aws_crt_log_to_stderr(): void {}
|
function aws_crt_log_to_stderr(): void {}
|
||||||
function aws_crt_log_to_file(string $filename): void {}
|
function aws_crt_log_to_file(string $filename): void {}
|
||||||
function aws_crt_log_to_stream(object $stream): void {}
|
function aws_crt_log_to_stream(object $stream): void {}
|
||||||
function aws_crt_log_stop(): void {}
|
function aws_crt_log_stop(): void {}
|
||||||
function aws_crt_log_set_level(int $level): void {}
|
function aws_crt_log_set_level(int $level): void {}
|
||||||
function aws_crt_log_message(string $message): void {}
|
function aws_crt_log_message(string $message): void {}
|
||||||
|
|
||||||
function aws_crt_event_loop_group_options_new(): int {}
|
function aws_crt_event_loop_group_options_new(): int {}
|
||||||
function aws_crt_event_loop_group_options_release(int $elg_options): void {}
|
function aws_crt_event_loop_group_options_release(int $elg_options): void {}
|
||||||
function aws_crt_event_loop_group_options_set_max_threads(int $elg_options, int $max_threads): void {}
|
function aws_crt_event_loop_group_options_set_max_threads(int $elg_options, int $max_threads): void {}
|
||||||
function aws_crt_event_loop_group_new(object $options): object {}
|
function aws_crt_event_loop_group_new(object $options): object {}
|
||||||
function aws_crt_event_loop_group_release(object $event_loop_group): void {}
|
function aws_crt_event_loop_group_release(object $event_loop_group): void {}
|
||||||
|
|
||||||
function aws_crt_input_stream_options_new(): object {}
|
function aws_crt_input_stream_options_new(): object {}
|
||||||
function aws_crt_input_stream_options_release(object $options): void {}
|
function aws_crt_input_stream_options_release(object $options): void {}
|
||||||
function aws_crt_input_stream_options_set_user_data(object $options, object $user_data): void {}
|
function aws_crt_input_stream_options_set_user_data(object $options, object $user_data): void {}
|
||||||
function aws_crt_input_stream_new(object $options): object {}
|
function aws_crt_input_stream_new(object $options): object {}
|
||||||
function aws_crt_input_stream_release(int $stream): void {}
|
function aws_crt_input_stream_release(int $stream): void {}
|
||||||
function aws_crt_input_stream_seek(int $stream, int $offset, int $basis): int {}
|
function aws_crt_input_stream_seek(int $stream, int $offset, int $basis): int {}
|
||||||
function aws_crt_input_stream_read(int $stream, int $length): string {}
|
function aws_crt_input_stream_read(int $stream, int $length): string {}
|
||||||
function aws_crt_input_stream_eof(int $stream): bool {}
|
function aws_crt_input_stream_eof(int $stream): bool {}
|
||||||
function aws_crt_input_stream_get_length(int $stream): int {}
|
function aws_crt_input_stream_get_length(int $stream): int {}
|
||||||
|
|
||||||
function aws_crt_http_message_new_from_blob(string $blob): int {}
|
function aws_crt_http_message_new_from_blob(string $blob): int {}
|
||||||
function aws_crt_http_message_to_blob(int $message): string {}
|
function aws_crt_http_message_to_blob(int $message): string {}
|
||||||
function aws_crt_http_message_release(int $message): void {}
|
function aws_crt_http_message_release(int $message): void {}
|
||||||
|
|
||||||
function aws_crt_credentials_options_new(): object {}
|
function aws_crt_credentials_options_new(): object {}
|
||||||
function aws_crt_credentials_options_release(object $options): void {}
|
function aws_crt_credentials_options_release(object $options): void {}
|
||||||
function aws_crt_credentials_options_set_access_key_id(object $options, string $access_key_id): void {}
|
function aws_crt_credentials_options_set_access_key_id(object $options, string $access_key_id): void {}
|
||||||
function aws_crt_credentials_options_set_secret_access_key(object $options, string $secret_access_key): void {}
|
function aws_crt_credentials_options_set_secret_access_key(object $options, string $secret_access_key): void {}
|
||||||
function aws_crt_credentials_options_set_session_token(object $options, string $session_token): void {}
|
function aws_crt_credentials_options_set_session_token(object $options, string $session_token): void {}
|
||||||
function aws_crt_credentials_options_set_expiration_timepoint_seconds(object $options, int $expiration_timepoint_seconds): void {}
|
function aws_crt_credentials_options_set_expiration_timepoint_seconds(object $options, int $expiration_timepoint_seconds): void {}
|
||||||
|
|
||||||
function aws_crt_credentials_new(object $options): object {}
|
function aws_crt_credentials_new(object $options): object {}
|
||||||
function aws_crt_credentials_release(object $credentials): void {}
|
function aws_crt_credentials_release(object $credentials): void {}
|
||||||
|
|
||||||
function aws_crt_credentials_provider_release(int $credentials): void {}
|
function aws_crt_credentials_provider_release(int $credentials): void {}
|
||||||
|
|
||||||
function aws_crt_credentials_provider_static_options_new(): object {}
|
function aws_crt_credentials_provider_static_options_new(): object {}
|
||||||
function aws_crt_credentials_provider_static_options_release(object $options): void {}
|
function aws_crt_credentials_provider_static_options_release(object $options): void {}
|
||||||
function aws_crt_credentials_provider_static_options_set_access_key_id(object $options, string $access_key_id): void {}
|
function aws_crt_credentials_provider_static_options_set_access_key_id(object $options, string $access_key_id): void {}
|
||||||
function aws_crt_credentials_provider_static_options_set_secret_access_key(object $options, string $secret_access_key): void {}
|
function aws_crt_credentials_provider_static_options_set_secret_access_key(object $options, string $secret_access_key): void {}
|
||||||
function aws_crt_credentials_provider_static_options_set_session_token(object $options, string $session_token): void {}
|
function aws_crt_credentials_provider_static_options_set_session_token(object $options, string $session_token): void {}
|
||||||
function aws_crt_credentials_provider_static_new(object $options): object {}
|
function aws_crt_credentials_provider_static_new(object $options): object {}
|
||||||
|
|
||||||
function aws_crt_signing_config_aws_new(): int {}
|
function aws_crt_signing_config_aws_new(): int {}
|
||||||
function aws_crt_signing_config_aws_release(int $config): void {}
|
function aws_crt_signing_config_aws_release(int $config): void {}
|
||||||
function aws_crt_signing_config_aws_set_algorithm(int $config, int $algorithm): void {}
|
function aws_crt_signing_config_aws_set_algorithm(int $config, int $algorithm): void {}
|
||||||
function aws_crt_signing_config_aws_set_signature_type(int $config, int $signature_type): void {}
|
function aws_crt_signing_config_aws_set_signature_type(int $config, int $signature_type): void {}
|
||||||
function aws_crt_signing_config_aws_set_credentials_provider(int $config, int $credentials_provider): void {}
|
function aws_crt_signing_config_aws_set_credentials_provider(int $config, int $credentials_provider): void {}
|
||||||
function aws_crt_signing_config_aws_set_region(int $config, string $region): void {}
|
function aws_crt_signing_config_aws_set_region(int $config, string $region): void {}
|
||||||
function aws_crt_signing_config_aws_set_service(int $config, string $service): void {}
|
function aws_crt_signing_config_aws_set_service(int $config, string $service): void {}
|
||||||
function aws_crt_signing_config_aws_set_use_double_uri_encode(int $config, bool $use_double_uri_encode): void {}
|
function aws_crt_signing_config_aws_set_use_double_uri_encode(int $config, bool $use_double_uri_encode): void {}
|
||||||
function aws_crt_signing_config_aws_set_should_normalize_uri_path(int $config, bool $should_normalize_uri_path): void {}
|
function aws_crt_signing_config_aws_set_should_normalize_uri_path(int $config, bool $should_normalize_uri_path): void {}
|
||||||
function aws_crt_signing_config_aws_set_omit_session_token(int $config, bool $omit_session_token): void {}
|
function aws_crt_signing_config_aws_set_omit_session_token(int $config, bool $omit_session_token): void {}
|
||||||
function aws_crt_signing_config_aws_set_signed_body_value(int $config, string $signed_body_value): void {}
|
function aws_crt_signing_config_aws_set_signed_body_value(int $config, string $signed_body_value): void {}
|
||||||
function aws_crt_signing_config_aws_set_signed_body_header_type(int $config, int $signed_body_header_type): void {}
|
function aws_crt_signing_config_aws_set_signed_body_header_type(int $config, int $signed_body_header_type): void {}
|
||||||
function aws_crt_signing_config_aws_set_expiration_in_seconds(int $config, int $expiration_in_seconds): void {}
|
function aws_crt_signing_config_aws_set_expiration_in_seconds(int $config, int $expiration_in_seconds): void {}
|
||||||
function aws_crt_signing_config_aws_set_date(int $config, int $timestamp): void {}
|
function aws_crt_signing_config_aws_set_date(int $config, int $timestamp): void {}
|
||||||
function aws_crt_signing_config_aws_set_should_sign_header_fn(int $config, object $should_sign_header): void {}
|
function aws_crt_signing_config_aws_set_should_sign_header_fn(int $config, object $should_sign_header): void {}
|
||||||
|
|
||||||
function aws_crt_signable_new_from_http_request(int $http_message): int {}
|
function aws_crt_signable_new_from_http_request(int $http_message): int {}
|
||||||
function aws_crt_signable_new_from_chunk(int $input_stream, string $previous_signature): int {}
|
function aws_crt_signable_new_from_chunk(int $input_stream, string $previous_signature): int {}
|
||||||
function aws_crt_signable_new_from_canonical_request(string $request): int {}
|
function aws_crt_signable_new_from_canonical_request(string $request): int {}
|
||||||
function aws_crt_signable_release(int $signable): void {}
|
function aws_crt_signable_release(int $signable): void {}
|
||||||
|
|
||||||
function aws_crt_signing_result_release(int $signing_result): void {}
|
function aws_crt_signing_result_release(int $signing_result): void {}
|
||||||
function aws_crt_signing_result_apply_to_http_request(object $signing_result, object $http_request): void {}
|
function aws_crt_signing_result_apply_to_http_request(object $signing_result, object $http_request): void {}
|
||||||
|
|
||||||
function aws_crt_sign_request_aws(int $signable, int $signing_config, object $on_complete, object $user_data): int {}
|
function aws_crt_sign_request_aws(int $signable, int $signing_config, object $on_complete, object $user_data): int {}
|
||||||
function aws_crt_test_verify_sigv4a_signing(int $signable, int $signing_config, string $expected_canonical_request, string $signature, string $ecc_key_pub_x, string $ecc_key_pub_y): bool {}
|
function aws_crt_test_verify_sigv4a_signing(int $signable, int $signing_config, string $expected_canonical_request, string $signature, string $ecc_key_pub_x, string $ecc_key_pub_y): bool {}
|
||||||
|
|
||||||
function aws_crt_crc32(string $input, int $prev): int {}
|
function aws_crt_crc32(string $input, int $prev): int {}
|
||||||
function aws_crt_crc32c(string $input, int $prev): int {}
|
function aws_crt_crc32c(string $input, int $prev): int {}
|
||||||
|
|
826
vendor/aws/aws-crt-php/ext/awscrt_arginfo.h
vendored
826
vendor/aws/aws-crt-php/ext/awscrt_arginfo.h
vendored
|
@ -1,413 +1,413 @@
|
||||||
/* This is a generated file, edit the .stub.php file instead.
|
/* This is a generated file, edit the .stub.php file instead.
|
||||||
* Stub hash: 344f9d59b85697b80bb6808ac7d5eb7c1d07c03f */
|
* Stub hash: 344f9d59b85697b80bb6808ac7d5eb7c1d07c03f */
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_last_error, 0, 0, 0)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_last_error, 0, 0, 0)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_error_name, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_error_name, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, error_code)
|
ZEND_ARG_INFO(0, error_code)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_error_str arginfo_aws_crt_error_name
|
#define arginfo_aws_crt_error_str arginfo_aws_crt_error_name
|
||||||
|
|
||||||
#define arginfo_aws_crt_error_debug_str arginfo_aws_crt_error_name
|
#define arginfo_aws_crt_error_debug_str arginfo_aws_crt_error_name
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_to_stdout, 0, 0, 0)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_to_stdout, 0, 0, 0)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_log_to_stderr arginfo_aws_crt_log_to_stdout
|
#define arginfo_aws_crt_log_to_stderr arginfo_aws_crt_log_to_stdout
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_to_file, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_to_file, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, filename)
|
ZEND_ARG_INFO(0, filename)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_to_stream, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_to_stream, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, stream)
|
ZEND_ARG_INFO(0, stream)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_log_stop arginfo_aws_crt_log_to_stdout
|
#define arginfo_aws_crt_log_stop arginfo_aws_crt_log_to_stdout
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_set_level, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_set_level, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, level)
|
ZEND_ARG_INFO(0, level)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_message, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_log_message, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, message)
|
ZEND_ARG_INFO(0, message)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_event_loop_group_options_new arginfo_aws_crt_last_error
|
#define arginfo_aws_crt_event_loop_group_options_new arginfo_aws_crt_last_error
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_options_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_options_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, elg_options)
|
ZEND_ARG_INFO(0, elg_options)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_options_set_max_threads, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_options_set_max_threads, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, elg_options)
|
ZEND_ARG_INFO(0, elg_options)
|
||||||
ZEND_ARG_INFO(0, max_threads)
|
ZEND_ARG_INFO(0, max_threads)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_new, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_new, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, event_loop_group)
|
ZEND_ARG_INFO(0, event_loop_group)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_new, 0, 0, 0)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_new, 0, 0, 0)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_set_user_data, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_set_user_data, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_ARG_INFO(0, user_data)
|
ZEND_ARG_INFO(0, user_data)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_input_stream_new arginfo_aws_crt_event_loop_group_new
|
#define arginfo_aws_crt_input_stream_new arginfo_aws_crt_event_loop_group_new
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, stream)
|
ZEND_ARG_INFO(0, stream)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_seek, 0, 0, 3)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_seek, 0, 0, 3)
|
||||||
ZEND_ARG_INFO(0, stream)
|
ZEND_ARG_INFO(0, stream)
|
||||||
ZEND_ARG_INFO(0, offset)
|
ZEND_ARG_INFO(0, offset)
|
||||||
ZEND_ARG_INFO(0, basis)
|
ZEND_ARG_INFO(0, basis)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_read, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_read, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, stream)
|
ZEND_ARG_INFO(0, stream)
|
||||||
ZEND_ARG_INFO(0, length)
|
ZEND_ARG_INFO(0, length)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_eof, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_eof, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, stream)
|
ZEND_ARG_INFO(0, stream)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_get_length, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_get_length, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, stream)
|
ZEND_ARG_INFO(0, stream)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_new_from_blob, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_new_from_blob, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, blob)
|
ZEND_ARG_INFO(0, blob)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_to_blob, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_to_blob, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, message)
|
ZEND_ARG_INFO(0, message)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, message)
|
ZEND_ARG_INFO(0, message)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_options_new arginfo_aws_crt_input_stream_options_new
|
#define arginfo_aws_crt_credentials_options_new arginfo_aws_crt_input_stream_options_new
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_options_release arginfo_aws_crt_input_stream_options_release
|
#define arginfo_aws_crt_credentials_options_release arginfo_aws_crt_input_stream_options_release
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_access_key_id, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_access_key_id, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_ARG_INFO(0, access_key_id)
|
ZEND_ARG_INFO(0, access_key_id)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_secret_access_key, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_secret_access_key, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_ARG_INFO(0, secret_access_key)
|
ZEND_ARG_INFO(0, secret_access_key)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_session_token, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_session_token, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_ARG_INFO(0, session_token)
|
ZEND_ARG_INFO(0, session_token)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, options)
|
ZEND_ARG_INFO(0, options)
|
||||||
ZEND_ARG_INFO(0, expiration_timepoint_seconds)
|
ZEND_ARG_INFO(0, expiration_timepoint_seconds)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_new arginfo_aws_crt_event_loop_group_new
|
#define arginfo_aws_crt_credentials_new arginfo_aws_crt_event_loop_group_new
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, credentials)
|
ZEND_ARG_INFO(0, credentials)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_provider_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_provider_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, credentials)
|
ZEND_ARG_INFO(0, credentials)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_provider_static_options_new arginfo_aws_crt_input_stream_options_new
|
#define arginfo_aws_crt_credentials_provider_static_options_new arginfo_aws_crt_input_stream_options_new
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_provider_static_options_release arginfo_aws_crt_input_stream_options_release
|
#define arginfo_aws_crt_credentials_provider_static_options_release arginfo_aws_crt_input_stream_options_release
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_provider_static_options_set_access_key_id arginfo_aws_crt_credentials_options_set_access_key_id
|
#define arginfo_aws_crt_credentials_provider_static_options_set_access_key_id arginfo_aws_crt_credentials_options_set_access_key_id
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key arginfo_aws_crt_credentials_options_set_secret_access_key
|
#define arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key arginfo_aws_crt_credentials_options_set_secret_access_key
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_provider_static_options_set_session_token arginfo_aws_crt_credentials_options_set_session_token
|
#define arginfo_aws_crt_credentials_provider_static_options_set_session_token arginfo_aws_crt_credentials_options_set_session_token
|
||||||
|
|
||||||
#define arginfo_aws_crt_credentials_provider_static_new arginfo_aws_crt_event_loop_group_new
|
#define arginfo_aws_crt_credentials_provider_static_new arginfo_aws_crt_event_loop_group_new
|
||||||
|
|
||||||
#define arginfo_aws_crt_signing_config_aws_new arginfo_aws_crt_last_error
|
#define arginfo_aws_crt_signing_config_aws_new arginfo_aws_crt_last_error
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_algorithm, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_algorithm, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, algorithm)
|
ZEND_ARG_INFO(0, algorithm)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signature_type, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signature_type, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, signature_type)
|
ZEND_ARG_INFO(0, signature_type)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_credentials_provider, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_credentials_provider, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, credentials_provider)
|
ZEND_ARG_INFO(0, credentials_provider)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_region, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_region, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, region)
|
ZEND_ARG_INFO(0, region)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_service, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_service, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, service)
|
ZEND_ARG_INFO(0, service)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, use_double_uri_encode)
|
ZEND_ARG_INFO(0, use_double_uri_encode)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, should_normalize_uri_path)
|
ZEND_ARG_INFO(0, should_normalize_uri_path)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_omit_session_token, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_omit_session_token, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, omit_session_token)
|
ZEND_ARG_INFO(0, omit_session_token)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signed_body_value, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signed_body_value, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, signed_body_value)
|
ZEND_ARG_INFO(0, signed_body_value)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signed_body_header_type, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signed_body_header_type, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, signed_body_header_type)
|
ZEND_ARG_INFO(0, signed_body_header_type)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, expiration_in_seconds)
|
ZEND_ARG_INFO(0, expiration_in_seconds)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_date, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_date, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, timestamp)
|
ZEND_ARG_INFO(0, timestamp)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_should_sign_header_fn, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_should_sign_header_fn, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, config)
|
ZEND_ARG_INFO(0, config)
|
||||||
ZEND_ARG_INFO(0, should_sign_header)
|
ZEND_ARG_INFO(0, should_sign_header)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_http_request, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_http_request, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, http_message)
|
ZEND_ARG_INFO(0, http_message)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_chunk, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_chunk, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, input_stream)
|
ZEND_ARG_INFO(0, input_stream)
|
||||||
ZEND_ARG_INFO(0, previous_signature)
|
ZEND_ARG_INFO(0, previous_signature)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_canonical_request, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_canonical_request, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, request)
|
ZEND_ARG_INFO(0, request)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, signable)
|
ZEND_ARG_INFO(0, signable)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_result_release, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_result_release, 0, 0, 1)
|
||||||
ZEND_ARG_INFO(0, signing_result)
|
ZEND_ARG_INFO(0, signing_result)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_result_apply_to_http_request, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_result_apply_to_http_request, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, signing_result)
|
ZEND_ARG_INFO(0, signing_result)
|
||||||
ZEND_ARG_INFO(0, http_request)
|
ZEND_ARG_INFO(0, http_request)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_sign_request_aws, 0, 0, 4)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_sign_request_aws, 0, 0, 4)
|
||||||
ZEND_ARG_INFO(0, signable)
|
ZEND_ARG_INFO(0, signable)
|
||||||
ZEND_ARG_INFO(0, signing_config)
|
ZEND_ARG_INFO(0, signing_config)
|
||||||
ZEND_ARG_INFO(0, on_complete)
|
ZEND_ARG_INFO(0, on_complete)
|
||||||
ZEND_ARG_INFO(0, user_data)
|
ZEND_ARG_INFO(0, user_data)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_test_verify_sigv4a_signing, 0, 0, 6)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_test_verify_sigv4a_signing, 0, 0, 6)
|
||||||
ZEND_ARG_INFO(0, signable)
|
ZEND_ARG_INFO(0, signable)
|
||||||
ZEND_ARG_INFO(0, signing_config)
|
ZEND_ARG_INFO(0, signing_config)
|
||||||
ZEND_ARG_INFO(0, expected_canonical_request)
|
ZEND_ARG_INFO(0, expected_canonical_request)
|
||||||
ZEND_ARG_INFO(0, signature)
|
ZEND_ARG_INFO(0, signature)
|
||||||
ZEND_ARG_INFO(0, ecc_key_pub_x)
|
ZEND_ARG_INFO(0, ecc_key_pub_x)
|
||||||
ZEND_ARG_INFO(0, ecc_key_pub_y)
|
ZEND_ARG_INFO(0, ecc_key_pub_y)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_crc32, 0, 0, 2)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_crc32, 0, 0, 2)
|
||||||
ZEND_ARG_INFO(0, input)
|
ZEND_ARG_INFO(0, input)
|
||||||
ZEND_ARG_INFO(0, prev)
|
ZEND_ARG_INFO(0, prev)
|
||||||
ZEND_END_ARG_INFO()
|
ZEND_END_ARG_INFO()
|
||||||
|
|
||||||
#define arginfo_aws_crt_crc32c arginfo_aws_crt_crc32
|
#define arginfo_aws_crt_crc32c arginfo_aws_crt_crc32
|
||||||
|
|
||||||
|
|
||||||
ZEND_FUNCTION(aws_crt_last_error);
|
ZEND_FUNCTION(aws_crt_last_error);
|
||||||
ZEND_FUNCTION(aws_crt_error_name);
|
ZEND_FUNCTION(aws_crt_error_name);
|
||||||
ZEND_FUNCTION(aws_crt_error_str);
|
ZEND_FUNCTION(aws_crt_error_str);
|
||||||
ZEND_FUNCTION(aws_crt_error_debug_str);
|
ZEND_FUNCTION(aws_crt_error_debug_str);
|
||||||
ZEND_FUNCTION(aws_crt_log_to_stdout);
|
ZEND_FUNCTION(aws_crt_log_to_stdout);
|
||||||
ZEND_FUNCTION(aws_crt_log_to_stderr);
|
ZEND_FUNCTION(aws_crt_log_to_stderr);
|
||||||
ZEND_FUNCTION(aws_crt_log_to_file);
|
ZEND_FUNCTION(aws_crt_log_to_file);
|
||||||
ZEND_FUNCTION(aws_crt_log_to_stream);
|
ZEND_FUNCTION(aws_crt_log_to_stream);
|
||||||
ZEND_FUNCTION(aws_crt_log_stop);
|
ZEND_FUNCTION(aws_crt_log_stop);
|
||||||
ZEND_FUNCTION(aws_crt_log_set_level);
|
ZEND_FUNCTION(aws_crt_log_set_level);
|
||||||
ZEND_FUNCTION(aws_crt_log_message);
|
ZEND_FUNCTION(aws_crt_log_message);
|
||||||
ZEND_FUNCTION(aws_crt_event_loop_group_options_new);
|
ZEND_FUNCTION(aws_crt_event_loop_group_options_new);
|
||||||
ZEND_FUNCTION(aws_crt_event_loop_group_options_release);
|
ZEND_FUNCTION(aws_crt_event_loop_group_options_release);
|
||||||
ZEND_FUNCTION(aws_crt_event_loop_group_options_set_max_threads);
|
ZEND_FUNCTION(aws_crt_event_loop_group_options_set_max_threads);
|
||||||
ZEND_FUNCTION(aws_crt_event_loop_group_new);
|
ZEND_FUNCTION(aws_crt_event_loop_group_new);
|
||||||
ZEND_FUNCTION(aws_crt_event_loop_group_release);
|
ZEND_FUNCTION(aws_crt_event_loop_group_release);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_options_new);
|
ZEND_FUNCTION(aws_crt_input_stream_options_new);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_options_release);
|
ZEND_FUNCTION(aws_crt_input_stream_options_release);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_options_set_user_data);
|
ZEND_FUNCTION(aws_crt_input_stream_options_set_user_data);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_new);
|
ZEND_FUNCTION(aws_crt_input_stream_new);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_release);
|
ZEND_FUNCTION(aws_crt_input_stream_release);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_seek);
|
ZEND_FUNCTION(aws_crt_input_stream_seek);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_read);
|
ZEND_FUNCTION(aws_crt_input_stream_read);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_eof);
|
ZEND_FUNCTION(aws_crt_input_stream_eof);
|
||||||
ZEND_FUNCTION(aws_crt_input_stream_get_length);
|
ZEND_FUNCTION(aws_crt_input_stream_get_length);
|
||||||
ZEND_FUNCTION(aws_crt_http_message_new_from_blob);
|
ZEND_FUNCTION(aws_crt_http_message_new_from_blob);
|
||||||
ZEND_FUNCTION(aws_crt_http_message_to_blob);
|
ZEND_FUNCTION(aws_crt_http_message_to_blob);
|
||||||
ZEND_FUNCTION(aws_crt_http_message_release);
|
ZEND_FUNCTION(aws_crt_http_message_release);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_options_new);
|
ZEND_FUNCTION(aws_crt_credentials_options_new);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_options_release);
|
ZEND_FUNCTION(aws_crt_credentials_options_release);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_options_set_access_key_id);
|
ZEND_FUNCTION(aws_crt_credentials_options_set_access_key_id);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_options_set_secret_access_key);
|
ZEND_FUNCTION(aws_crt_credentials_options_set_secret_access_key);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_options_set_session_token);
|
ZEND_FUNCTION(aws_crt_credentials_options_set_session_token);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_options_set_expiration_timepoint_seconds);
|
ZEND_FUNCTION(aws_crt_credentials_options_set_expiration_timepoint_seconds);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_new);
|
ZEND_FUNCTION(aws_crt_credentials_new);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_release);
|
ZEND_FUNCTION(aws_crt_credentials_release);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_release);
|
ZEND_FUNCTION(aws_crt_credentials_provider_release);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_new);
|
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_new);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_release);
|
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_release);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_set_access_key_id);
|
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_set_access_key_id);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_set_secret_access_key);
|
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_set_secret_access_key);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_set_session_token);
|
ZEND_FUNCTION(aws_crt_credentials_provider_static_options_set_session_token);
|
||||||
ZEND_FUNCTION(aws_crt_credentials_provider_static_new);
|
ZEND_FUNCTION(aws_crt_credentials_provider_static_new);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_new);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_new);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_release);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_release);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_algorithm);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_algorithm);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_signature_type);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_signature_type);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_credentials_provider);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_credentials_provider);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_region);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_region);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_service);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_service);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_use_double_uri_encode);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_use_double_uri_encode);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_should_normalize_uri_path);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_should_normalize_uri_path);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_omit_session_token);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_omit_session_token);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_signed_body_value);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_signed_body_value);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_signed_body_header_type);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_signed_body_header_type);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_expiration_in_seconds);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_expiration_in_seconds);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_date);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_date);
|
||||||
ZEND_FUNCTION(aws_crt_signing_config_aws_set_should_sign_header_fn);
|
ZEND_FUNCTION(aws_crt_signing_config_aws_set_should_sign_header_fn);
|
||||||
ZEND_FUNCTION(aws_crt_signable_new_from_http_request);
|
ZEND_FUNCTION(aws_crt_signable_new_from_http_request);
|
||||||
ZEND_FUNCTION(aws_crt_signable_new_from_chunk);
|
ZEND_FUNCTION(aws_crt_signable_new_from_chunk);
|
||||||
ZEND_FUNCTION(aws_crt_signable_new_from_canonical_request);
|
ZEND_FUNCTION(aws_crt_signable_new_from_canonical_request);
|
||||||
ZEND_FUNCTION(aws_crt_signable_release);
|
ZEND_FUNCTION(aws_crt_signable_release);
|
||||||
ZEND_FUNCTION(aws_crt_signing_result_release);
|
ZEND_FUNCTION(aws_crt_signing_result_release);
|
||||||
ZEND_FUNCTION(aws_crt_signing_result_apply_to_http_request);
|
ZEND_FUNCTION(aws_crt_signing_result_apply_to_http_request);
|
||||||
ZEND_FUNCTION(aws_crt_sign_request_aws);
|
ZEND_FUNCTION(aws_crt_sign_request_aws);
|
||||||
ZEND_FUNCTION(aws_crt_test_verify_sigv4a_signing);
|
ZEND_FUNCTION(aws_crt_test_verify_sigv4a_signing);
|
||||||
ZEND_FUNCTION(aws_crt_crc32);
|
ZEND_FUNCTION(aws_crt_crc32);
|
||||||
ZEND_FUNCTION(aws_crt_crc32c);
|
ZEND_FUNCTION(aws_crt_crc32c);
|
||||||
|
|
||||||
|
|
||||||
static const zend_function_entry ext_functions[] = {
|
static const zend_function_entry ext_functions[] = {
|
||||||
ZEND_FE(aws_crt_last_error, arginfo_aws_crt_last_error)
|
ZEND_FE(aws_crt_last_error, arginfo_aws_crt_last_error)
|
||||||
ZEND_FE(aws_crt_error_name, arginfo_aws_crt_error_name)
|
ZEND_FE(aws_crt_error_name, arginfo_aws_crt_error_name)
|
||||||
ZEND_FE(aws_crt_error_str, arginfo_aws_crt_error_str)
|
ZEND_FE(aws_crt_error_str, arginfo_aws_crt_error_str)
|
||||||
ZEND_FE(aws_crt_error_debug_str, arginfo_aws_crt_error_debug_str)
|
ZEND_FE(aws_crt_error_debug_str, arginfo_aws_crt_error_debug_str)
|
||||||
ZEND_FE(aws_crt_log_to_stdout, arginfo_aws_crt_log_to_stdout)
|
ZEND_FE(aws_crt_log_to_stdout, arginfo_aws_crt_log_to_stdout)
|
||||||
ZEND_FE(aws_crt_log_to_stderr, arginfo_aws_crt_log_to_stderr)
|
ZEND_FE(aws_crt_log_to_stderr, arginfo_aws_crt_log_to_stderr)
|
||||||
ZEND_FE(aws_crt_log_to_file, arginfo_aws_crt_log_to_file)
|
ZEND_FE(aws_crt_log_to_file, arginfo_aws_crt_log_to_file)
|
||||||
ZEND_FE(aws_crt_log_to_stream, arginfo_aws_crt_log_to_stream)
|
ZEND_FE(aws_crt_log_to_stream, arginfo_aws_crt_log_to_stream)
|
||||||
ZEND_FE(aws_crt_log_stop, arginfo_aws_crt_log_stop)
|
ZEND_FE(aws_crt_log_stop, arginfo_aws_crt_log_stop)
|
||||||
ZEND_FE(aws_crt_log_set_level, arginfo_aws_crt_log_set_level)
|
ZEND_FE(aws_crt_log_set_level, arginfo_aws_crt_log_set_level)
|
||||||
ZEND_FE(aws_crt_log_message, arginfo_aws_crt_log_message)
|
ZEND_FE(aws_crt_log_message, arginfo_aws_crt_log_message)
|
||||||
ZEND_FE(aws_crt_event_loop_group_options_new, arginfo_aws_crt_event_loop_group_options_new)
|
ZEND_FE(aws_crt_event_loop_group_options_new, arginfo_aws_crt_event_loop_group_options_new)
|
||||||
ZEND_FE(aws_crt_event_loop_group_options_release, arginfo_aws_crt_event_loop_group_options_release)
|
ZEND_FE(aws_crt_event_loop_group_options_release, arginfo_aws_crt_event_loop_group_options_release)
|
||||||
ZEND_FE(aws_crt_event_loop_group_options_set_max_threads, arginfo_aws_crt_event_loop_group_options_set_max_threads)
|
ZEND_FE(aws_crt_event_loop_group_options_set_max_threads, arginfo_aws_crt_event_loop_group_options_set_max_threads)
|
||||||
ZEND_FE(aws_crt_event_loop_group_new, arginfo_aws_crt_event_loop_group_new)
|
ZEND_FE(aws_crt_event_loop_group_new, arginfo_aws_crt_event_loop_group_new)
|
||||||
ZEND_FE(aws_crt_event_loop_group_release, arginfo_aws_crt_event_loop_group_release)
|
ZEND_FE(aws_crt_event_loop_group_release, arginfo_aws_crt_event_loop_group_release)
|
||||||
ZEND_FE(aws_crt_input_stream_options_new, arginfo_aws_crt_input_stream_options_new)
|
ZEND_FE(aws_crt_input_stream_options_new, arginfo_aws_crt_input_stream_options_new)
|
||||||
ZEND_FE(aws_crt_input_stream_options_release, arginfo_aws_crt_input_stream_options_release)
|
ZEND_FE(aws_crt_input_stream_options_release, arginfo_aws_crt_input_stream_options_release)
|
||||||
ZEND_FE(aws_crt_input_stream_options_set_user_data, arginfo_aws_crt_input_stream_options_set_user_data)
|
ZEND_FE(aws_crt_input_stream_options_set_user_data, arginfo_aws_crt_input_stream_options_set_user_data)
|
||||||
ZEND_FE(aws_crt_input_stream_new, arginfo_aws_crt_input_stream_new)
|
ZEND_FE(aws_crt_input_stream_new, arginfo_aws_crt_input_stream_new)
|
||||||
ZEND_FE(aws_crt_input_stream_release, arginfo_aws_crt_input_stream_release)
|
ZEND_FE(aws_crt_input_stream_release, arginfo_aws_crt_input_stream_release)
|
||||||
ZEND_FE(aws_crt_input_stream_seek, arginfo_aws_crt_input_stream_seek)
|
ZEND_FE(aws_crt_input_stream_seek, arginfo_aws_crt_input_stream_seek)
|
||||||
ZEND_FE(aws_crt_input_stream_read, arginfo_aws_crt_input_stream_read)
|
ZEND_FE(aws_crt_input_stream_read, arginfo_aws_crt_input_stream_read)
|
||||||
ZEND_FE(aws_crt_input_stream_eof, arginfo_aws_crt_input_stream_eof)
|
ZEND_FE(aws_crt_input_stream_eof, arginfo_aws_crt_input_stream_eof)
|
||||||
ZEND_FE(aws_crt_input_stream_get_length, arginfo_aws_crt_input_stream_get_length)
|
ZEND_FE(aws_crt_input_stream_get_length, arginfo_aws_crt_input_stream_get_length)
|
||||||
ZEND_FE(aws_crt_http_message_new_from_blob, arginfo_aws_crt_http_message_new_from_blob)
|
ZEND_FE(aws_crt_http_message_new_from_blob, arginfo_aws_crt_http_message_new_from_blob)
|
||||||
ZEND_FE(aws_crt_http_message_to_blob, arginfo_aws_crt_http_message_to_blob)
|
ZEND_FE(aws_crt_http_message_to_blob, arginfo_aws_crt_http_message_to_blob)
|
||||||
ZEND_FE(aws_crt_http_message_release, arginfo_aws_crt_http_message_release)
|
ZEND_FE(aws_crt_http_message_release, arginfo_aws_crt_http_message_release)
|
||||||
ZEND_FE(aws_crt_credentials_options_new, arginfo_aws_crt_credentials_options_new)
|
ZEND_FE(aws_crt_credentials_options_new, arginfo_aws_crt_credentials_options_new)
|
||||||
ZEND_FE(aws_crt_credentials_options_release, arginfo_aws_crt_credentials_options_release)
|
ZEND_FE(aws_crt_credentials_options_release, arginfo_aws_crt_credentials_options_release)
|
||||||
ZEND_FE(aws_crt_credentials_options_set_access_key_id, arginfo_aws_crt_credentials_options_set_access_key_id)
|
ZEND_FE(aws_crt_credentials_options_set_access_key_id, arginfo_aws_crt_credentials_options_set_access_key_id)
|
||||||
ZEND_FE(aws_crt_credentials_options_set_secret_access_key, arginfo_aws_crt_credentials_options_set_secret_access_key)
|
ZEND_FE(aws_crt_credentials_options_set_secret_access_key, arginfo_aws_crt_credentials_options_set_secret_access_key)
|
||||||
ZEND_FE(aws_crt_credentials_options_set_session_token, arginfo_aws_crt_credentials_options_set_session_token)
|
ZEND_FE(aws_crt_credentials_options_set_session_token, arginfo_aws_crt_credentials_options_set_session_token)
|
||||||
ZEND_FE(aws_crt_credentials_options_set_expiration_timepoint_seconds, arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds)
|
ZEND_FE(aws_crt_credentials_options_set_expiration_timepoint_seconds, arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds)
|
||||||
ZEND_FE(aws_crt_credentials_new, arginfo_aws_crt_credentials_new)
|
ZEND_FE(aws_crt_credentials_new, arginfo_aws_crt_credentials_new)
|
||||||
ZEND_FE(aws_crt_credentials_release, arginfo_aws_crt_credentials_release)
|
ZEND_FE(aws_crt_credentials_release, arginfo_aws_crt_credentials_release)
|
||||||
ZEND_FE(aws_crt_credentials_provider_release, arginfo_aws_crt_credentials_provider_release)
|
ZEND_FE(aws_crt_credentials_provider_release, arginfo_aws_crt_credentials_provider_release)
|
||||||
ZEND_FE(aws_crt_credentials_provider_static_options_new, arginfo_aws_crt_credentials_provider_static_options_new)
|
ZEND_FE(aws_crt_credentials_provider_static_options_new, arginfo_aws_crt_credentials_provider_static_options_new)
|
||||||
ZEND_FE(aws_crt_credentials_provider_static_options_release, arginfo_aws_crt_credentials_provider_static_options_release)
|
ZEND_FE(aws_crt_credentials_provider_static_options_release, arginfo_aws_crt_credentials_provider_static_options_release)
|
||||||
ZEND_FE(aws_crt_credentials_provider_static_options_set_access_key_id, arginfo_aws_crt_credentials_provider_static_options_set_access_key_id)
|
ZEND_FE(aws_crt_credentials_provider_static_options_set_access_key_id, arginfo_aws_crt_credentials_provider_static_options_set_access_key_id)
|
||||||
ZEND_FE(aws_crt_credentials_provider_static_options_set_secret_access_key, arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key)
|
ZEND_FE(aws_crt_credentials_provider_static_options_set_secret_access_key, arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key)
|
||||||
ZEND_FE(aws_crt_credentials_provider_static_options_set_session_token, arginfo_aws_crt_credentials_provider_static_options_set_session_token)
|
ZEND_FE(aws_crt_credentials_provider_static_options_set_session_token, arginfo_aws_crt_credentials_provider_static_options_set_session_token)
|
||||||
ZEND_FE(aws_crt_credentials_provider_static_new, arginfo_aws_crt_credentials_provider_static_new)
|
ZEND_FE(aws_crt_credentials_provider_static_new, arginfo_aws_crt_credentials_provider_static_new)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_new, arginfo_aws_crt_signing_config_aws_new)
|
ZEND_FE(aws_crt_signing_config_aws_new, arginfo_aws_crt_signing_config_aws_new)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_release, arginfo_aws_crt_signing_config_aws_release)
|
ZEND_FE(aws_crt_signing_config_aws_release, arginfo_aws_crt_signing_config_aws_release)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_algorithm, arginfo_aws_crt_signing_config_aws_set_algorithm)
|
ZEND_FE(aws_crt_signing_config_aws_set_algorithm, arginfo_aws_crt_signing_config_aws_set_algorithm)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_signature_type, arginfo_aws_crt_signing_config_aws_set_signature_type)
|
ZEND_FE(aws_crt_signing_config_aws_set_signature_type, arginfo_aws_crt_signing_config_aws_set_signature_type)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_credentials_provider, arginfo_aws_crt_signing_config_aws_set_credentials_provider)
|
ZEND_FE(aws_crt_signing_config_aws_set_credentials_provider, arginfo_aws_crt_signing_config_aws_set_credentials_provider)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_region, arginfo_aws_crt_signing_config_aws_set_region)
|
ZEND_FE(aws_crt_signing_config_aws_set_region, arginfo_aws_crt_signing_config_aws_set_region)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_service, arginfo_aws_crt_signing_config_aws_set_service)
|
ZEND_FE(aws_crt_signing_config_aws_set_service, arginfo_aws_crt_signing_config_aws_set_service)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_use_double_uri_encode, arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode)
|
ZEND_FE(aws_crt_signing_config_aws_set_use_double_uri_encode, arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_should_normalize_uri_path, arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path)
|
ZEND_FE(aws_crt_signing_config_aws_set_should_normalize_uri_path, arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_omit_session_token, arginfo_aws_crt_signing_config_aws_set_omit_session_token)
|
ZEND_FE(aws_crt_signing_config_aws_set_omit_session_token, arginfo_aws_crt_signing_config_aws_set_omit_session_token)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_signed_body_value, arginfo_aws_crt_signing_config_aws_set_signed_body_value)
|
ZEND_FE(aws_crt_signing_config_aws_set_signed_body_value, arginfo_aws_crt_signing_config_aws_set_signed_body_value)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_signed_body_header_type, arginfo_aws_crt_signing_config_aws_set_signed_body_header_type)
|
ZEND_FE(aws_crt_signing_config_aws_set_signed_body_header_type, arginfo_aws_crt_signing_config_aws_set_signed_body_header_type)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_expiration_in_seconds, arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds)
|
ZEND_FE(aws_crt_signing_config_aws_set_expiration_in_seconds, arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_date, arginfo_aws_crt_signing_config_aws_set_date)
|
ZEND_FE(aws_crt_signing_config_aws_set_date, arginfo_aws_crt_signing_config_aws_set_date)
|
||||||
ZEND_FE(aws_crt_signing_config_aws_set_should_sign_header_fn, arginfo_aws_crt_signing_config_aws_set_should_sign_header_fn)
|
ZEND_FE(aws_crt_signing_config_aws_set_should_sign_header_fn, arginfo_aws_crt_signing_config_aws_set_should_sign_header_fn)
|
||||||
ZEND_FE(aws_crt_signable_new_from_http_request, arginfo_aws_crt_signable_new_from_http_request)
|
ZEND_FE(aws_crt_signable_new_from_http_request, arginfo_aws_crt_signable_new_from_http_request)
|
||||||
ZEND_FE(aws_crt_signable_new_from_chunk, arginfo_aws_crt_signable_new_from_chunk)
|
ZEND_FE(aws_crt_signable_new_from_chunk, arginfo_aws_crt_signable_new_from_chunk)
|
||||||
ZEND_FE(aws_crt_signable_new_from_canonical_request, arginfo_aws_crt_signable_new_from_canonical_request)
|
ZEND_FE(aws_crt_signable_new_from_canonical_request, arginfo_aws_crt_signable_new_from_canonical_request)
|
||||||
ZEND_FE(aws_crt_signable_release, arginfo_aws_crt_signable_release)
|
ZEND_FE(aws_crt_signable_release, arginfo_aws_crt_signable_release)
|
||||||
ZEND_FE(aws_crt_signing_result_release, arginfo_aws_crt_signing_result_release)
|
ZEND_FE(aws_crt_signing_result_release, arginfo_aws_crt_signing_result_release)
|
||||||
ZEND_FE(aws_crt_signing_result_apply_to_http_request, arginfo_aws_crt_signing_result_apply_to_http_request)
|
ZEND_FE(aws_crt_signing_result_apply_to_http_request, arginfo_aws_crt_signing_result_apply_to_http_request)
|
||||||
ZEND_FE(aws_crt_sign_request_aws, arginfo_aws_crt_sign_request_aws)
|
ZEND_FE(aws_crt_sign_request_aws, arginfo_aws_crt_sign_request_aws)
|
||||||
ZEND_FE(aws_crt_test_verify_sigv4a_signing, arginfo_aws_crt_test_verify_sigv4a_signing)
|
ZEND_FE(aws_crt_test_verify_sigv4a_signing, arginfo_aws_crt_test_verify_sigv4a_signing)
|
||||||
ZEND_FE(aws_crt_crc32, arginfo_aws_crt_crc32)
|
ZEND_FE(aws_crt_crc32, arginfo_aws_crt_crc32)
|
||||||
ZEND_FE(aws_crt_crc32c, arginfo_aws_crt_crc32c)
|
ZEND_FE(aws_crt_crc32c, arginfo_aws_crt_crc32c)
|
||||||
ZEND_FE_END
|
ZEND_FE_END
|
||||||
};
|
};
|
||||||
|
|
64
vendor/aws/aws-crt-php/ext/crc.c
vendored
64
vendor/aws/aws-crt-php/ext/crc.c
vendored
|
@ -1,32 +1,32 @@
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "php_aws_crt.h"
|
#include "php_aws_crt.h"
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_crc32) {
|
PHP_FUNCTION(aws_crt_crc32) {
|
||||||
zend_ulong prev = 0;
|
zend_ulong prev = 0;
|
||||||
const char *input = NULL;
|
const char *input = NULL;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("sl", &input, &len, &prev);
|
aws_php_parse_parameters("sl", &input, &len, &prev);
|
||||||
|
|
||||||
if (prev > UINT32_MAX) {
|
if (prev > UINT32_MAX) {
|
||||||
aws_php_throw_exception("previous crc cannot be larger than UINT32_MAX");
|
aws_php_throw_exception("previous crc cannot be larger than UINT32_MAX");
|
||||||
}
|
}
|
||||||
RETURN_LONG((zend_ulong)aws_crt_crc32((const uint8_t *)input, len, prev));
|
RETURN_LONG((zend_ulong)aws_crt_crc32((const uint8_t *)input, len, prev));
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_crc32c) {
|
PHP_FUNCTION(aws_crt_crc32c) {
|
||||||
zend_ulong prev = 0;
|
zend_ulong prev = 0;
|
||||||
const char *input = NULL;
|
const char *input = NULL;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("sl", &input, &len, &prev);
|
aws_php_parse_parameters("sl", &input, &len, &prev);
|
||||||
|
|
||||||
if (prev > UINT32_MAX) {
|
if (prev > UINT32_MAX) {
|
||||||
aws_php_throw_exception("previous crc cannot be larger than UINT32_MAX");
|
aws_php_throw_exception("previous crc cannot be larger than UINT32_MAX");
|
||||||
}
|
}
|
||||||
RETURN_LONG((zend_ulong)aws_crt_crc32c((const uint8_t *)input, len, prev));
|
RETURN_LONG((zend_ulong)aws_crt_crc32c((const uint8_t *)input, len, prev));
|
||||||
}
|
}
|
||||||
|
|
308
vendor/aws/aws-crt-php/ext/credentials.c
vendored
308
vendor/aws/aws-crt-php/ext/credentials.c
vendored
|
@ -1,154 +1,154 @@
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "php_aws_crt.h"
|
#include "php_aws_crt.h"
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_options_new) {
|
PHP_FUNCTION(aws_crt_credentials_options_new) {
|
||||||
aws_crt_credentials_options *options = aws_crt_credentials_options_new();
|
aws_crt_credentials_options *options = aws_crt_credentials_options_new();
|
||||||
RETURN_LONG((zend_ulong)options);
|
RETURN_LONG((zend_ulong)options);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_options_release) {
|
PHP_FUNCTION(aws_crt_credentials_options_release) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_options);
|
aws_php_parse_parameters("l", &php_options);
|
||||||
|
|
||||||
aws_crt_credentials_options *options = (void *)php_options;
|
aws_crt_credentials_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_options_release(options);
|
aws_crt_credentials_options_release(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_options_set_access_key_id) {
|
PHP_FUNCTION(aws_crt_credentials_options_set_access_key_id) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
const char *access_key_id = NULL;
|
const char *access_key_id = NULL;
|
||||||
size_t access_key_id_len = 0;
|
size_t access_key_id_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_options, &access_key_id, &access_key_id_len);
|
aws_php_parse_parameters("ls", &php_options, &access_key_id, &access_key_id_len);
|
||||||
|
|
||||||
aws_crt_credentials_options *options = (void *)php_options;
|
aws_crt_credentials_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_options_set_access_key_id(options, (uint8_t *)access_key_id, access_key_id_len);
|
aws_crt_credentials_options_set_access_key_id(options, (uint8_t *)access_key_id, access_key_id_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_options_set_secret_access_key) {
|
PHP_FUNCTION(aws_crt_credentials_options_set_secret_access_key) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
const char *secret_access_key = NULL;
|
const char *secret_access_key = NULL;
|
||||||
size_t secret_access_key_len = 0;
|
size_t secret_access_key_len = 0;
|
||||||
|
|
||||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ls", &php_options, &secret_access_key, &secret_access_key_len) ==
|
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ls", &php_options, &secret_access_key, &secret_access_key_len) ==
|
||||||
FAILURE) {
|
FAILURE) {
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
|
|
||||||
aws_crt_credentials_options *options = (void *)php_options;
|
aws_crt_credentials_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_options_set_secret_access_key(options, (uint8_t *)secret_access_key, secret_access_key_len);
|
aws_crt_credentials_options_set_secret_access_key(options, (uint8_t *)secret_access_key, secret_access_key_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_options_set_session_token) {
|
PHP_FUNCTION(aws_crt_credentials_options_set_session_token) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
const char *session_token = NULL;
|
const char *session_token = NULL;
|
||||||
size_t session_token_len = 0;
|
size_t session_token_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_options, &session_token, &session_token_len);
|
aws_php_parse_parameters("ls", &php_options, &session_token, &session_token_len);
|
||||||
|
|
||||||
aws_crt_credentials_options *options = (void *)php_options;
|
aws_crt_credentials_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_options_set_session_token(options, (uint8_t *)session_token, session_token_len);
|
aws_crt_credentials_options_set_session_token(options, (uint8_t *)session_token, session_token_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_options_set_expiration_timepoint_seconds) {
|
PHP_FUNCTION(aws_crt_credentials_options_set_expiration_timepoint_seconds) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
zend_ulong expiration_timepoint_seconds = 0;
|
zend_ulong expiration_timepoint_seconds = 0;
|
||||||
aws_php_parse_parameters("ll", &php_options, &expiration_timepoint_seconds);
|
aws_php_parse_parameters("ll", &php_options, &expiration_timepoint_seconds);
|
||||||
|
|
||||||
aws_crt_credentials_options *options = (void *)php_options;
|
aws_crt_credentials_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_options_set_expiration_timepoint_seconds(options, expiration_timepoint_seconds);
|
aws_crt_credentials_options_set_expiration_timepoint_seconds(options, expiration_timepoint_seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_new) {
|
PHP_FUNCTION(aws_crt_credentials_new) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_options);
|
aws_php_parse_parameters("l", &php_options);
|
||||||
|
|
||||||
aws_crt_credentials_options *options = (void *)php_options;
|
aws_crt_credentials_options *options = (void *)php_options;
|
||||||
aws_crt_credentials *credentials = aws_crt_credentials_new(options);
|
aws_crt_credentials *credentials = aws_crt_credentials_new(options);
|
||||||
RETURN_LONG((zend_ulong)credentials);
|
RETURN_LONG((zend_ulong)credentials);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_release) {
|
PHP_FUNCTION(aws_crt_credentials_release) {
|
||||||
zend_ulong php_credentials = 0;
|
zend_ulong php_credentials = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_credentials);
|
aws_php_parse_parameters("l", &php_credentials);
|
||||||
|
|
||||||
aws_crt_credentials *credentials = (void *)php_credentials;
|
aws_crt_credentials *credentials = (void *)php_credentials;
|
||||||
aws_crt_credentials_release(credentials);
|
aws_crt_credentials_release(credentials);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_release) {
|
PHP_FUNCTION(aws_crt_credentials_provider_release) {
|
||||||
zend_ulong php_creds_provider = 0;
|
zend_ulong php_creds_provider = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_creds_provider);
|
aws_php_parse_parameters("l", &php_creds_provider);
|
||||||
|
|
||||||
aws_crt_credentials_provider *provider = (void *)php_creds_provider;
|
aws_crt_credentials_provider *provider = (void *)php_creds_provider;
|
||||||
aws_crt_credentials_provider_release(provider);
|
aws_crt_credentials_provider_release(provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_static_options_new) {
|
PHP_FUNCTION(aws_crt_credentials_provider_static_options_new) {
|
||||||
aws_crt_credentials_provider_static_options *options = aws_crt_credentials_provider_static_options_new();
|
aws_crt_credentials_provider_static_options *options = aws_crt_credentials_provider_static_options_new();
|
||||||
RETURN_LONG((zend_ulong)options);
|
RETURN_LONG((zend_ulong)options);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_static_options_release) {
|
PHP_FUNCTION(aws_crt_credentials_provider_static_options_release) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_options);
|
aws_php_parse_parameters("l", &php_options);
|
||||||
|
|
||||||
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_provider_static_options_release(options);
|
aws_crt_credentials_provider_static_options_release(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_access_key_id) {
|
PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_access_key_id) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
const char *access_key_id = NULL;
|
const char *access_key_id = NULL;
|
||||||
size_t access_key_id_len = 0;
|
size_t access_key_id_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_options, &access_key_id, &access_key_id_len);
|
aws_php_parse_parameters("ls", &php_options, &access_key_id, &access_key_id_len);
|
||||||
|
|
||||||
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_provider_static_options_set_access_key_id(options, (uint8_t *)access_key_id, access_key_id_len);
|
aws_crt_credentials_provider_static_options_set_access_key_id(options, (uint8_t *)access_key_id, access_key_id_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_secret_access_key) {
|
PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_secret_access_key) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
const char *secret_access_key = NULL;
|
const char *secret_access_key = NULL;
|
||||||
size_t secret_access_key_len = 0;
|
size_t secret_access_key_len = 0;
|
||||||
|
|
||||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ls", &php_options, &secret_access_key, &secret_access_key_len) ==
|
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ls", &php_options, &secret_access_key, &secret_access_key_len) ==
|
||||||
FAILURE) {
|
FAILURE) {
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
|
|
||||||
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_provider_static_options_set_secret_access_key(
|
aws_crt_credentials_provider_static_options_set_secret_access_key(
|
||||||
options, (uint8_t *)secret_access_key, secret_access_key_len);
|
options, (uint8_t *)secret_access_key, secret_access_key_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_session_token) {
|
PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_session_token) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
const char *session_token = NULL;
|
const char *session_token = NULL;
|
||||||
size_t session_token_len = 0;
|
size_t session_token_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_options, &session_token, &session_token_len);
|
aws_php_parse_parameters("ls", &php_options, &session_token, &session_token_len);
|
||||||
|
|
||||||
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_provider_static_options_set_session_token(options, (uint8_t *)session_token, session_token_len);
|
aws_crt_credentials_provider_static_options_set_session_token(options, (uint8_t *)session_token, session_token_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_credentials_provider_static_new) {
|
PHP_FUNCTION(aws_crt_credentials_provider_static_new) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_options);
|
aws_php_parse_parameters("l", &php_options);
|
||||||
|
|
||||||
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
aws_crt_credentials_provider_static_options *options = (void *)php_options;
|
||||||
aws_crt_credentials_provider *provider = aws_crt_credentials_provider_static_new(options);
|
aws_crt_credentials_provider *provider = aws_crt_credentials_provider_static_new(options);
|
||||||
RETURN_LONG((zend_ulong)provider);
|
RETURN_LONG((zend_ulong)provider);
|
||||||
}
|
}
|
||||||
|
|
130
vendor/aws/aws-crt-php/ext/logging.c
vendored
130
vendor/aws/aws-crt-php/ext/logging.c
vendored
|
@ -1,65 +1,65 @@
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "php_aws_crt.h"
|
#include "php_aws_crt.h"
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_to_stdout) {
|
PHP_FUNCTION(aws_crt_log_to_stdout) {
|
||||||
aws_php_parse_parameters_none();
|
aws_php_parse_parameters_none();
|
||||||
aws_crt_log_to_stdout();
|
aws_crt_log_to_stdout();
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_to_stderr) {
|
PHP_FUNCTION(aws_crt_log_to_stderr) {
|
||||||
aws_php_parse_parameters_none();
|
aws_php_parse_parameters_none();
|
||||||
aws_crt_log_to_stderr();
|
aws_crt_log_to_stderr();
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_to_file) {
|
PHP_FUNCTION(aws_crt_log_to_file) {
|
||||||
const char *filename = NULL;
|
const char *filename = NULL;
|
||||||
size_t filename_len = 0;
|
size_t filename_len = 0;
|
||||||
/* read the filename as a path, which guarantees no NUL bytes */
|
/* read the filename as a path, which guarantees no NUL bytes */
|
||||||
aws_php_parse_parameters("p", &filename, &filename_len);
|
aws_php_parse_parameters("p", &filename, &filename_len);
|
||||||
aws_crt_log_to_file(filename);
|
aws_crt_log_to_file(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void php_crt_log(const char *message, size_t len, void *user_data) {
|
static void php_crt_log(const char *message, size_t len, void *user_data) {
|
||||||
php_stream *stream = user_data;
|
php_stream *stream = user_data;
|
||||||
php_stream_write(stream, message, len);
|
php_stream_write(stream, message, len);
|
||||||
php_stream_flush(stream);
|
php_stream_flush(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_to_stream) {
|
PHP_FUNCTION(aws_crt_log_to_stream) {
|
||||||
zval *php_log_stream = NULL;
|
zval *php_log_stream = NULL;
|
||||||
aws_php_parse_parameters("r", &php_log_stream);
|
aws_php_parse_parameters("r", &php_log_stream);
|
||||||
|
|
||||||
if (php_log_stream) {
|
if (php_log_stream) {
|
||||||
php_stream *stream = NULL;
|
php_stream *stream = NULL;
|
||||||
Z_ADDREF(*php_log_stream);
|
Z_ADDREF(*php_log_stream);
|
||||||
AWS_PHP_STREAM_FROM_ZVAL(stream, php_log_stream);
|
AWS_PHP_STREAM_FROM_ZVAL(stream, php_log_stream);
|
||||||
aws_crt_log_to_callback((aws_crt_log_callback *)php_crt_log, stream);
|
aws_crt_log_to_callback((aws_crt_log_callback *)php_crt_log, stream);
|
||||||
} else {
|
} else {
|
||||||
aws_crt_log_to_callback(NULL, NULL);
|
aws_crt_log_to_callback(NULL, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_set_level) {
|
PHP_FUNCTION(aws_crt_log_set_level) {
|
||||||
zend_ulong log_level = 0;
|
zend_ulong log_level = 0;
|
||||||
aws_php_parse_parameters("l", &log_level);
|
aws_php_parse_parameters("l", &log_level);
|
||||||
aws_crt_log_set_level((aws_crt_log_level)log_level);
|
aws_crt_log_set_level((aws_crt_log_level)log_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_stop) {
|
PHP_FUNCTION(aws_crt_log_stop) {
|
||||||
aws_php_parse_parameters_none();
|
aws_php_parse_parameters_none();
|
||||||
aws_crt_log_stop();
|
aws_crt_log_stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_log_message) {
|
PHP_FUNCTION(aws_crt_log_message) {
|
||||||
zend_ulong log_level = 0;
|
zend_ulong log_level = 0;
|
||||||
const char *message = NULL;
|
const char *message = NULL;
|
||||||
size_t message_len = 0;
|
size_t message_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &log_level, &message, &message_len);
|
aws_php_parse_parameters("ls", &log_level, &message, &message_len);
|
||||||
|
|
||||||
aws_crt_log_message((aws_crt_log_level)log_level, (const uint8_t *)message, message_len);
|
aws_crt_log_message((aws_crt_log_level)log_level, (const uint8_t *)message, message_len);
|
||||||
}
|
}
|
||||||
|
|
342
vendor/aws/aws-crt-php/ext/php_aws_crt.h
vendored
342
vendor/aws/aws-crt-php/ext/php_aws_crt.h
vendored
|
@ -1,171 +1,171 @@
|
||||||
|
|
||||||
#ifndef PHP_AWS_CRT_H
|
#ifndef PHP_AWS_CRT_H
|
||||||
#define PHP_AWS_CRT_H
|
#define PHP_AWS_CRT_H
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "php.h"
|
#include "php.h"
|
||||||
|
|
||||||
#include "Zend/zend_extensions.h" /* for ZEND_EXTENSION_API_NO */
|
#include "Zend/zend_extensions.h" /* for ZEND_EXTENSION_API_NO */
|
||||||
|
|
||||||
#include <aws/common/common.h>
|
#include <aws/common/common.h>
|
||||||
#include <aws/common/mutex.h>
|
#include <aws/common/mutex.h>
|
||||||
#include <aws/common/promise.h>
|
#include <aws/common/promise.h>
|
||||||
#include <aws/common/thread.h>
|
#include <aws/common/thread.h>
|
||||||
|
|
||||||
/* ZEND_EXTENSION_API_NO from each branch of the PHP source */
|
/* ZEND_EXTENSION_API_NO from each branch of the PHP source */
|
||||||
#define AWS_PHP_EXTENSION_API_5_5 220121212
|
#define AWS_PHP_EXTENSION_API_5_5 220121212
|
||||||
#define AWS_PHP_EXTENSION_API_5_6 220131226
|
#define AWS_PHP_EXTENSION_API_5_6 220131226
|
||||||
#define AWS_PHP_EXTENSION_API_7_0 320151012
|
#define AWS_PHP_EXTENSION_API_7_0 320151012
|
||||||
#define AWS_PHP_EXTENSION_API_7_1 320160303
|
#define AWS_PHP_EXTENSION_API_7_1 320160303
|
||||||
#define AWS_PHP_EXTENSION_API_7_2 320170718
|
#define AWS_PHP_EXTENSION_API_7_2 320170718
|
||||||
#define AWS_PHP_EXTENSION_API_7_3 320180731
|
#define AWS_PHP_EXTENSION_API_7_3 320180731
|
||||||
#define AWS_PHP_EXTENSION_API_7_4 320190902
|
#define AWS_PHP_EXTENSION_API_7_4 320190902
|
||||||
#define AWS_PHP_EXTENSION_API_8_0 420200930
|
#define AWS_PHP_EXTENSION_API_8_0 420200930
|
||||||
|
|
||||||
#if ZEND_EXTENSION_API_NO < AWS_PHP_EXTENSION_API_5_5
|
#if ZEND_EXTENSION_API_NO < AWS_PHP_EXTENSION_API_5_5
|
||||||
# error "PHP >= 5.5 is required"
|
# error "PHP >= 5.5 is required"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define AWS_PHP_AT_LEAST_7 (ZEND_EXTENSION_API_NO >= AWS_PHP_EXTENSION_API_7_0)
|
#define AWS_PHP_AT_LEAST_7 (ZEND_EXTENSION_API_NO >= AWS_PHP_EXTENSION_API_7_0)
|
||||||
#define AWS_PHP_AT_LEAST_7_2 (ZEND_EXTENSION_API_NO >= AWS_PHP_EXTENSION_API_7_2)
|
#define AWS_PHP_AT_LEAST_7_2 (ZEND_EXTENSION_API_NO >= AWS_PHP_EXTENSION_API_7_2)
|
||||||
|
|
||||||
ZEND_BEGIN_MODULE_GLOBALS(awscrt)
|
ZEND_BEGIN_MODULE_GLOBALS(awscrt)
|
||||||
long log_level;
|
long log_level;
|
||||||
ZEND_END_MODULE_GLOBALS(awscrt)
|
ZEND_END_MODULE_GLOBALS(awscrt)
|
||||||
|
|
||||||
ZEND_EXTERN_MODULE_GLOBALS(awscrt)
|
ZEND_EXTERN_MODULE_GLOBALS(awscrt)
|
||||||
|
|
||||||
#define AWSCRT_GLOBAL(v) ZEND_MODULE_GLOBALS_ACCESSOR(awscrt, v)
|
#define AWSCRT_GLOBAL(v) ZEND_MODULE_GLOBALS_ACCESSOR(awscrt, v)
|
||||||
|
|
||||||
#if AWS_PHP_AT_LEAST_7
|
#if AWS_PHP_AT_LEAST_7
|
||||||
/* PHP 7 takes a zval*, PHP5 takes a zval** */
|
/* PHP 7 takes a zval*, PHP5 takes a zval** */
|
||||||
# define AWS_PHP_STREAM_FROM_ZVAL(s, z) php_stream_from_zval(s, z)
|
# define AWS_PHP_STREAM_FROM_ZVAL(s, z) php_stream_from_zval(s, z)
|
||||||
#define XRETURN_STRINGL RETURN_STRINGL
|
#define XRETURN_STRINGL RETURN_STRINGL
|
||||||
#define XRETURN_STRING RETURN_STRING
|
#define XRETURN_STRING RETURN_STRING
|
||||||
#define XRETVAL_STRINGL RETVAL_STRINGL
|
#define XRETVAL_STRINGL RETVAL_STRINGL
|
||||||
#define XRETVAL_STRING RETVAL_STRING
|
#define XRETVAL_STRING RETVAL_STRING
|
||||||
#else /* PHP 5.5-5.6 */
|
#else /* PHP 5.5-5.6 */
|
||||||
# define AWS_PHP_STREAM_FROM_ZVAL(s, z) php_stream_from_zval(s, &z)
|
# define AWS_PHP_STREAM_FROM_ZVAL(s, z) php_stream_from_zval(s, &z)
|
||||||
#define XRETURN_STRINGL(s, l) RETURN_STRINGL(s, l, 1)
|
#define XRETURN_STRINGL(s, l) RETURN_STRINGL(s, l, 1)
|
||||||
#define XRETURN_STRING(s) RETURN_STRING(s, 1)
|
#define XRETURN_STRING(s) RETURN_STRING(s, 1)
|
||||||
#define XRETVAL_STRINGL(s, l) RETVAL_STRINGL(s, l, 1)
|
#define XRETVAL_STRINGL(s, l) RETVAL_STRINGL(s, l, 1)
|
||||||
#define XRETVAL_STRING(s) RETVAL_STRING(s, 1)
|
#define XRETVAL_STRING(s) RETVAL_STRING(s, 1)
|
||||||
#endif /* PHP 5.x */
|
#endif /* PHP 5.x */
|
||||||
|
|
||||||
#include "api.h"
|
#include "api.h"
|
||||||
#include "awscrt_arginfo.h"
|
#include "awscrt_arginfo.h"
|
||||||
|
|
||||||
/* Utility macros borrowed from common */
|
/* Utility macros borrowed from common */
|
||||||
#define GLUE(x, y) x y
|
#define GLUE(x, y) x y
|
||||||
|
|
||||||
#define RETURN_ARG_COUNT(_1_, _2_, _3_, _4_, _5_, count, ...) count
|
#define RETURN_ARG_COUNT(_1_, _2_, _3_, _4_, _5_, count, ...) count
|
||||||
#define EXPAND_ARGS(args) RETURN_ARG_COUNT args
|
#define EXPAND_ARGS(args) RETURN_ARG_COUNT args
|
||||||
#define COUNT_ARGS_MAX5(...) EXPAND_ARGS((__VA_ARGS__, 5, 4, 3, 2, 1, 0))
|
#define COUNT_ARGS_MAX5(...) EXPAND_ARGS((__VA_ARGS__, 5, 4, 3, 2, 1, 0))
|
||||||
|
|
||||||
#define OVERLOAD_MACRO2(name, count) name##count
|
#define OVERLOAD_MACRO2(name, count) name##count
|
||||||
#define OVERLOAD_MACRO1(name, count) OVERLOAD_MACRO2(name, count)
|
#define OVERLOAD_MACRO1(name, count) OVERLOAD_MACRO2(name, count)
|
||||||
#define OVERLOAD_MACRO(name, count) OVERLOAD_MACRO1(name, count)
|
#define OVERLOAD_MACRO(name, count) OVERLOAD_MACRO1(name, count)
|
||||||
|
|
||||||
#define CALL_OVERLOAD(name, ...) GLUE(OVERLOAD_MACRO(name, COUNT_ARGS_MAX5(__VA_ARGS__)), (__VA_ARGS__))
|
#define CALL_OVERLOAD(name, ...) GLUE(OVERLOAD_MACRO(name, COUNT_ARGS_MAX5(__VA_ARGS__)), (__VA_ARGS__))
|
||||||
|
|
||||||
#define VARIABLE_LENGTH_ARRAY(type, name, length) type *name = alloca(sizeof(type) * (length))
|
#define VARIABLE_LENGTH_ARRAY(type, name, length) type *name = alloca(sizeof(type) * (length))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PHP utility APIs for this extension
|
* PHP utility APIs for this extension
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Exception throwing mechanism, will never return
|
* Exception throwing mechanism, will never return
|
||||||
*/
|
*/
|
||||||
#define aws_php_throw_exception(...) CALL_OVERLOAD(_AWS_PHP_THROW_EXCEPTION, __VA_ARGS__);
|
#define aws_php_throw_exception(...) CALL_OVERLOAD(_AWS_PHP_THROW_EXCEPTION, __VA_ARGS__);
|
||||||
#define _AWS_PHP_THROW_EXCEPTION5(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
#define _AWS_PHP_THROW_EXCEPTION5(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
||||||
#define _AWS_PHP_THROW_EXCEPTION4(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
#define _AWS_PHP_THROW_EXCEPTION4(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
||||||
#define _AWS_PHP_THROW_EXCEPTION3(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
#define _AWS_PHP_THROW_EXCEPTION3(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
||||||
#define _AWS_PHP_THROW_EXCEPTION2(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
#define _AWS_PHP_THROW_EXCEPTION2(format, ...) zend_error_noreturn(E_ERROR, format, __VA_ARGS__)
|
||||||
#define _AWS_PHP_THROW_EXCEPTION1(format) zend_error_noreturn(E_ERROR, format)
|
#define _AWS_PHP_THROW_EXCEPTION1(format) zend_error_noreturn(E_ERROR, format)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* throws an exception resulting from argument parsing, notes the current function name in the exception
|
* throws an exception resulting from argument parsing, notes the current function name in the exception
|
||||||
*/
|
*/
|
||||||
#define aws_php_argparse_fail() \
|
#define aws_php_argparse_fail() \
|
||||||
do { \
|
do { \
|
||||||
aws_php_throw_exception("Failed to parse arguments to %s", __func__); \
|
aws_php_throw_exception("Failed to parse arguments to %s", __func__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* calls zend_parse_parameters() with the arguments and throws an exception if parsing fails
|
* calls zend_parse_parameters() with the arguments and throws an exception if parsing fails
|
||||||
*/
|
*/
|
||||||
#define aws_php_parse_parameters(type_spec, ...) \
|
#define aws_php_parse_parameters(type_spec, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), type_spec, __VA_ARGS__) == FAILURE) { \
|
if (zend_parse_parameters(ZEND_NUM_ARGS(), type_spec, __VA_ARGS__) == FAILURE) { \
|
||||||
aws_php_argparse_fail(); \
|
aws_php_argparse_fail(); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* calls zend_parse_parameters_none() and throws an exception if parsing fails
|
* calls zend_parse_parameters_none() and throws an exception if parsing fails
|
||||||
*/
|
*/
|
||||||
#define aws_php_parse_parameters_none() \
|
#define aws_php_parse_parameters_none() \
|
||||||
do { \
|
do { \
|
||||||
if (zend_parse_parameters_none() == FAILURE) { \
|
if (zend_parse_parameters_none() == FAILURE) { \
|
||||||
aws_php_argparse_fail(); \
|
aws_php_argparse_fail(); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* PHP/Zend utility functions to work across PHP versions */
|
/* PHP/Zend utility functions to work across PHP versions */
|
||||||
zval *aws_php_zval_new(void);
|
zval *aws_php_zval_new(void);
|
||||||
void aws_php_zval_dtor(void *zval_ptr);
|
void aws_php_zval_dtor(void *zval_ptr);
|
||||||
bool aws_php_zval_as_bool(zval *z);
|
bool aws_php_zval_as_bool(zval *z);
|
||||||
void aws_php_zval_copy(zval *dest, zval *src);
|
void aws_php_zval_copy(zval *dest, zval *src);
|
||||||
/**
|
/**
|
||||||
* Replacement for ZVAL_STRINGL that is PHP version agnostic
|
* Replacement for ZVAL_STRINGL that is PHP version agnostic
|
||||||
*/
|
*/
|
||||||
void aws_php_zval_stringl(zval *val, const char *str, size_t len);
|
void aws_php_zval_stringl(zval *val, const char *str, size_t len);
|
||||||
|
|
||||||
/* Thread queue functions for managing PHP's optional threading situation */
|
/* Thread queue functions for managing PHP's optional threading situation */
|
||||||
typedef struct _aws_php_task {
|
typedef struct _aws_php_task {
|
||||||
void (*callback)(void *); /* task function */
|
void (*callback)(void *); /* task function */
|
||||||
void (*dtor)(void *); /* deletes task_data, if non-null */
|
void (*dtor)(void *); /* deletes task_data, if non-null */
|
||||||
void *data;
|
void *data;
|
||||||
} aws_php_task;
|
} aws_php_task;
|
||||||
|
|
||||||
/* maximum number of queued callbacks to execute at once. Since this is to support single-threaded usage,
|
/* maximum number of queued callbacks to execute at once. Since this is to support single-threaded usage,
|
||||||
* this can be a fairly small number, as how many callbacks could we reasonably be stacking up?! */
|
* this can be a fairly small number, as how many callbacks could we reasonably be stacking up?! */
|
||||||
#define AWS_PHP_THREAD_QUEUE_MAX_DEPTH 32
|
#define AWS_PHP_THREAD_QUEUE_MAX_DEPTH 32
|
||||||
|
|
||||||
typedef struct _aws_php_thread_queue {
|
typedef struct _aws_php_thread_queue {
|
||||||
struct aws_mutex mutex;
|
struct aws_mutex mutex;
|
||||||
aws_php_task queue[AWS_PHP_THREAD_QUEUE_MAX_DEPTH];
|
aws_php_task queue[AWS_PHP_THREAD_QUEUE_MAX_DEPTH];
|
||||||
size_t write_slot;
|
size_t write_slot;
|
||||||
aws_thread_id_t thread_id;
|
aws_thread_id_t thread_id;
|
||||||
} aws_php_thread_queue;
|
} aws_php_thread_queue;
|
||||||
|
|
||||||
extern aws_php_thread_queue s_aws_php_main_thread_queue;
|
extern aws_php_thread_queue s_aws_php_main_thread_queue;
|
||||||
bool aws_php_is_main_thread(void);
|
bool aws_php_is_main_thread(void);
|
||||||
|
|
||||||
void aws_php_thread_queue_init(aws_php_thread_queue *queue);
|
void aws_php_thread_queue_init(aws_php_thread_queue *queue);
|
||||||
void aws_php_thread_queue_clean_up(aws_php_thread_queue *queue);
|
void aws_php_thread_queue_clean_up(aws_php_thread_queue *queue);
|
||||||
void aws_php_thread_queue_push(aws_php_thread_queue *queue, aws_php_task task);
|
void aws_php_thread_queue_push(aws_php_thread_queue *queue, aws_php_task task);
|
||||||
bool aws_php_thread_queue_drain(aws_php_thread_queue *queue);
|
bool aws_php_thread_queue_drain(aws_php_thread_queue *queue);
|
||||||
|
|
||||||
/* called from worker thread to wait for the main thread to execute any queued work in PHP */
|
/* called from worker thread to wait for the main thread to execute any queued work in PHP */
|
||||||
void aws_php_thread_queue_yield(aws_php_thread_queue *queue);
|
void aws_php_thread_queue_yield(aws_php_thread_queue *queue);
|
||||||
|
|
||||||
/* called from PHP thread to wait on async queued jobs, one of which MUST complete the promise */
|
/* called from PHP thread to wait on async queued jobs, one of which MUST complete the promise */
|
||||||
void aws_php_thread_queue_wait(aws_php_thread_queue *queue, struct aws_promise *promise);
|
void aws_php_thread_queue_wait(aws_php_thread_queue *queue, struct aws_promise *promise);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* generic dispatch mechanism to call a callback provided as a zval with arguments
|
* generic dispatch mechanism to call a callback provided as a zval with arguments
|
||||||
* that are converted to zvals based on the arg_types format string
|
* that are converted to zvals based on the arg_types format string
|
||||||
* Uses the same format string as zend_parse_parameters
|
* Uses the same format string as zend_parse_parameters
|
||||||
*/
|
*/
|
||||||
zval aws_php_invoke_callback(zval *callback, const char *arg_types, ...);
|
zval aws_php_invoke_callback(zval *callback, const char *arg_types, ...);
|
||||||
|
|
||||||
#endif /* PHP_AWS_CRT_H */
|
#endif /* PHP_AWS_CRT_H */
|
||||||
|
|
66
vendor/aws/aws-crt-php/ext/php_util.c
vendored
66
vendor/aws/aws-crt-php/ext/php_util.c
vendored
|
@ -1,33 +1,33 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "php_aws_crt.h"
|
#include "php_aws_crt.h"
|
||||||
|
|
||||||
zval *aws_php_zval_new(void) {
|
zval *aws_php_zval_new(void) {
|
||||||
return emalloc(sizeof(zval));
|
return emalloc(sizeof(zval));
|
||||||
}
|
}
|
||||||
|
|
||||||
void aws_php_zval_dtor(void *zval_ptr) {
|
void aws_php_zval_dtor(void *zval_ptr) {
|
||||||
zval *z = zval_ptr;
|
zval *z = zval_ptr;
|
||||||
zval_dtor(z);
|
zval_dtor(z);
|
||||||
efree(z);
|
efree(z);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aws_php_zval_as_bool(zval *z) {
|
bool aws_php_zval_as_bool(zval *z) {
|
||||||
#if AWS_PHP_AT_LEAST_7
|
#if AWS_PHP_AT_LEAST_7
|
||||||
return (Z_TYPE_P(z) == IS_TRUE);
|
return (Z_TYPE_P(z) == IS_TRUE);
|
||||||
#else
|
#else
|
||||||
return (Z_TYPE_P(z) == IS_BOOL && Z_LVAL_P(z) != 0);
|
return (Z_TYPE_P(z) == IS_BOOL && Z_LVAL_P(z) != 0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void aws_php_zval_copy(zval *dest, zval *src) {
|
void aws_php_zval_copy(zval *dest, zval *src) {
|
||||||
#if AWS_PHP_AT_LEAST_7
|
#if AWS_PHP_AT_LEAST_7
|
||||||
ZVAL_COPY(dest, src);
|
ZVAL_COPY(dest, src);
|
||||||
#else
|
#else
|
||||||
ZVAL_COPY_VALUE(dest, src);
|
ZVAL_COPY_VALUE(dest, src);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
748
vendor/aws/aws-crt-php/ext/signing.c
vendored
748
vendor/aws/aws-crt-php/ext/signing.c
vendored
|
@ -1,374 +1,374 @@
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "php_aws_crt.h"
|
#include "php_aws_crt.h"
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_new) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_new) {
|
||||||
if (zend_parse_parameters_none() == FAILURE) {
|
if (zend_parse_parameters_none() == FAILURE) {
|
||||||
RETURN_NULL();
|
RETURN_NULL();
|
||||||
}
|
}
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = aws_crt_signing_config_aws_new();
|
aws_crt_signing_config_aws *signing_config = aws_crt_signing_config_aws_new();
|
||||||
RETURN_LONG((zend_ulong)signing_config);
|
RETURN_LONG((zend_ulong)signing_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_release) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_release) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_signing_config);
|
aws_php_parse_parameters("l", &php_signing_config);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_release(signing_config);
|
aws_crt_signing_config_aws_release(signing_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_algorithm) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_algorithm) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_ulong php_algorithm = 0;
|
zend_ulong php_algorithm = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_config, &php_algorithm);
|
aws_php_parse_parameters("ll", &php_signing_config, &php_algorithm);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_algorithm algorithm = php_algorithm;
|
aws_crt_signing_algorithm algorithm = php_algorithm;
|
||||||
aws_crt_signing_config_aws_set_algorithm(signing_config, algorithm);
|
aws_crt_signing_config_aws_set_algorithm(signing_config, algorithm);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_signature_type) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_signature_type) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_ulong php_signature_type = 0;
|
zend_ulong php_signature_type = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_config, &php_signature_type);
|
aws_php_parse_parameters("ll", &php_signing_config, &php_signature_type);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signature_type signature_type = php_signature_type;
|
aws_crt_signature_type signature_type = php_signature_type;
|
||||||
aws_crt_signing_config_aws_set_signature_type(signing_config, signature_type);
|
aws_crt_signing_config_aws_set_signature_type(signing_config, signature_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_credentials_provider) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_credentials_provider) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_ulong php_credentials_provider = 0;
|
zend_ulong php_credentials_provider = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_config, &php_credentials_provider);
|
aws_php_parse_parameters("ll", &php_signing_config, &php_credentials_provider);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_credentials_provider *credentials_provider = (void *)php_credentials_provider;
|
aws_crt_credentials_provider *credentials_provider = (void *)php_credentials_provider;
|
||||||
aws_crt_signing_config_aws_set_credentials_provider(signing_config, credentials_provider);
|
aws_crt_signing_config_aws_set_credentials_provider(signing_config, credentials_provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_region) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_region) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
const char *region = NULL;
|
const char *region = NULL;
|
||||||
size_t region_len = 0;
|
size_t region_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_signing_config, ®ion, ®ion_len);
|
aws_php_parse_parameters("ls", &php_signing_config, ®ion, ®ion_len);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_region(signing_config, (uint8_t *)region, region_len);
|
aws_crt_signing_config_aws_set_region(signing_config, (uint8_t *)region, region_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_service) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_service) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
const char *service = NULL;
|
const char *service = NULL;
|
||||||
size_t service_len = 0;
|
size_t service_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_signing_config, &service, &service_len);
|
aws_php_parse_parameters("ls", &php_signing_config, &service, &service_len);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_service(signing_config, (uint8_t *)service, service_len);
|
aws_crt_signing_config_aws_set_service(signing_config, (uint8_t *)service, service_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_use_double_uri_encode) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_use_double_uri_encode) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_bool php_use_double_uri_encode = 0;
|
zend_bool php_use_double_uri_encode = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("lb", &php_signing_config, &php_use_double_uri_encode);
|
aws_php_parse_parameters("lb", &php_signing_config, &php_use_double_uri_encode);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_use_double_uri_encode(signing_config, php_use_double_uri_encode);
|
aws_crt_signing_config_aws_set_use_double_uri_encode(signing_config, php_use_double_uri_encode);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_should_normalize_uri_path) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_should_normalize_uri_path) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_bool php_should_normalize_uri_path = 0;
|
zend_bool php_should_normalize_uri_path = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("lb", &php_signing_config, &php_should_normalize_uri_path);
|
aws_php_parse_parameters("lb", &php_signing_config, &php_should_normalize_uri_path);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_should_normalize_uri_path(signing_config, php_should_normalize_uri_path);
|
aws_crt_signing_config_aws_set_should_normalize_uri_path(signing_config, php_should_normalize_uri_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_omit_session_token) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_omit_session_token) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_bool php_omit_session_token = 0;
|
zend_bool php_omit_session_token = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("lb", &php_signing_config, &php_omit_session_token);
|
aws_php_parse_parameters("lb", &php_signing_config, &php_omit_session_token);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_omit_session_token(signing_config, php_omit_session_token);
|
aws_crt_signing_config_aws_set_omit_session_token(signing_config, php_omit_session_token);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_signed_body_value) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_signed_body_value) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
const char *signed_body_value = NULL;
|
const char *signed_body_value = NULL;
|
||||||
size_t signed_body_value_len = 0;
|
size_t signed_body_value_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_signing_config, &signed_body_value, &signed_body_value_len);
|
aws_php_parse_parameters("ls", &php_signing_config, &signed_body_value, &signed_body_value_len);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_signed_body_value(
|
aws_crt_signing_config_aws_set_signed_body_value(
|
||||||
signing_config, (uint8_t *)signed_body_value, signed_body_value_len);
|
signing_config, (uint8_t *)signed_body_value, signed_body_value_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_signed_body_header_type) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_signed_body_header_type) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_ulong php_signed_body_header_type = 0;
|
zend_ulong php_signed_body_header_type = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_config, &php_signed_body_header_type);
|
aws_php_parse_parameters("ll", &php_signing_config, &php_signed_body_header_type);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signed_body_header_type signed_body_header_type = php_signed_body_header_type;
|
aws_crt_signed_body_header_type signed_body_header_type = php_signed_body_header_type;
|
||||||
aws_crt_signing_config_aws_set_signed_body_header_type(signing_config, signed_body_header_type);
|
aws_crt_signing_config_aws_set_signed_body_header_type(signing_config, signed_body_header_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_expiration_in_seconds) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_expiration_in_seconds) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_ulong php_expiration_in_seconds = 0;
|
zend_ulong php_expiration_in_seconds = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_config, &php_expiration_in_seconds);
|
aws_php_parse_parameters("ll", &php_signing_config, &php_expiration_in_seconds);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_expiration_in_seconds(signing_config, php_expiration_in_seconds);
|
aws_crt_signing_config_aws_set_expiration_in_seconds(signing_config, php_expiration_in_seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_date) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_date) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zend_ulong php_timestamp = 0;
|
zend_ulong php_timestamp = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_config, &php_timestamp);
|
aws_php_parse_parameters("ll", &php_signing_config, &php_timestamp);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
aws_crt_signing_config_aws_set_date(signing_config, php_timestamp);
|
aws_crt_signing_config_aws_set_date(signing_config, php_timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct _should_sign_header_data {
|
typedef struct _should_sign_header_data {
|
||||||
zval *should_sign_header;
|
zval *should_sign_header;
|
||||||
zval *header_name;
|
zval *header_name;
|
||||||
bool result;
|
bool result;
|
||||||
} should_sign_header_data;
|
} should_sign_header_data;
|
||||||
|
|
||||||
static void should_sign_header_task(void *data) {
|
static void should_sign_header_task(void *data) {
|
||||||
should_sign_header_data *task = data;
|
should_sign_header_data *task = data;
|
||||||
zval result = aws_php_invoke_callback(task->should_sign_header, "z", task->header_name);
|
zval result = aws_php_invoke_callback(task->should_sign_header, "z", task->header_name);
|
||||||
task->result = aws_php_zval_as_bool(&result);
|
task->result = aws_php_zval_as_bool(&result);
|
||||||
zval_dtor(&result);
|
zval_dtor(&result);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool aws_php_should_sign_header(const char *header_name, size_t header_length, void *user_data) {
|
static bool aws_php_should_sign_header(const char *header_name, size_t header_length, void *user_data) {
|
||||||
zval php_header_name;
|
zval php_header_name;
|
||||||
aws_php_zval_stringl(&php_header_name, header_name, header_length);
|
aws_php_zval_stringl(&php_header_name, header_name, header_length);
|
||||||
|
|
||||||
should_sign_header_data task_data = {
|
should_sign_header_data task_data = {
|
||||||
.should_sign_header = user_data,
|
.should_sign_header = user_data,
|
||||||
.header_name = &php_header_name,
|
.header_name = &php_header_name,
|
||||||
.result = false,
|
.result = false,
|
||||||
};
|
};
|
||||||
|
|
||||||
aws_php_task task = {
|
aws_php_task task = {
|
||||||
.callback = should_sign_header_task,
|
.callback = should_sign_header_task,
|
||||||
.data = &task_data,
|
.data = &task_data,
|
||||||
};
|
};
|
||||||
|
|
||||||
aws_php_thread_queue_push(&s_aws_php_main_thread_queue, task);
|
aws_php_thread_queue_push(&s_aws_php_main_thread_queue, task);
|
||||||
aws_php_thread_queue_yield(&s_aws_php_main_thread_queue);
|
aws_php_thread_queue_yield(&s_aws_php_main_thread_queue);
|
||||||
|
|
||||||
zval_dtor(&php_header_name);
|
zval_dtor(&php_header_name);
|
||||||
|
|
||||||
return task_data.result;
|
return task_data.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_config_aws_set_should_sign_header_fn) {
|
PHP_FUNCTION(aws_crt_signing_config_aws_set_should_sign_header_fn) {
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zval *php_should_sign_header = NULL;
|
zval *php_should_sign_header = NULL;
|
||||||
|
|
||||||
aws_php_parse_parameters("lz", &php_signing_config, &php_should_sign_header);
|
aws_php_parse_parameters("lz", &php_signing_config, &php_should_sign_header);
|
||||||
|
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
|
|
||||||
/* copy/retain PHP callback, add as user data for signing_config resource */
|
/* copy/retain PHP callback, add as user data for signing_config resource */
|
||||||
zval *should_sign_header = aws_php_zval_new();
|
zval *should_sign_header = aws_php_zval_new();
|
||||||
aws_php_zval_copy(should_sign_header, php_should_sign_header);
|
aws_php_zval_copy(should_sign_header, php_should_sign_header);
|
||||||
aws_crt_resource_set_user_data(signing_config, should_sign_header, aws_php_zval_dtor);
|
aws_crt_resource_set_user_data(signing_config, should_sign_header, aws_php_zval_dtor);
|
||||||
|
|
||||||
aws_crt_signing_config_aws_set_should_sign_header_fn(
|
aws_crt_signing_config_aws_set_should_sign_header_fn(
|
||||||
signing_config, aws_php_should_sign_header, should_sign_header);
|
signing_config, aws_php_should_sign_header, should_sign_header);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signable_new_from_http_request) {
|
PHP_FUNCTION(aws_crt_signable_new_from_http_request) {
|
||||||
zend_ulong php_http_message = 0;
|
zend_ulong php_http_message = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_http_message);
|
aws_php_parse_parameters("l", &php_http_message);
|
||||||
|
|
||||||
const aws_crt_http_message *http_message = (void *)php_http_message;
|
const aws_crt_http_message *http_message = (void *)php_http_message;
|
||||||
aws_crt_signable *signable = aws_crt_signable_new_from_http_request(http_message);
|
aws_crt_signable *signable = aws_crt_signable_new_from_http_request(http_message);
|
||||||
RETURN_LONG((zend_ulong)signable);
|
RETURN_LONG((zend_ulong)signable);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signable_new_from_chunk) {
|
PHP_FUNCTION(aws_crt_signable_new_from_chunk) {
|
||||||
zend_ulong php_input_stream = 0;
|
zend_ulong php_input_stream = 0;
|
||||||
const char *previous_signature = NULL;
|
const char *previous_signature = NULL;
|
||||||
size_t previous_signature_len = 0;
|
size_t previous_signature_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ls", &php_input_stream, &previous_signature, &previous_signature_len);
|
aws_php_parse_parameters("ls", &php_input_stream, &previous_signature, &previous_signature_len);
|
||||||
|
|
||||||
aws_crt_input_stream *input_stream = (void *)php_input_stream;
|
aws_crt_input_stream *input_stream = (void *)php_input_stream;
|
||||||
aws_crt_signable *signable =
|
aws_crt_signable *signable =
|
||||||
aws_crt_signable_new_from_chunk(input_stream, (uint8_t *)previous_signature, previous_signature_len);
|
aws_crt_signable_new_from_chunk(input_stream, (uint8_t *)previous_signature, previous_signature_len);
|
||||||
RETURN_LONG((zend_ulong)signable);
|
RETURN_LONG((zend_ulong)signable);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signable_new_from_canonical_request) {
|
PHP_FUNCTION(aws_crt_signable_new_from_canonical_request) {
|
||||||
const char *canonical_request = NULL;
|
const char *canonical_request = NULL;
|
||||||
size_t canonical_request_len = 0;
|
size_t canonical_request_len = 0;
|
||||||
|
|
||||||
aws_crt_signable *signable =
|
aws_crt_signable *signable =
|
||||||
aws_crt_signable_new_from_canonical_request((uint8_t *)canonical_request, canonical_request_len);
|
aws_crt_signable_new_from_canonical_request((uint8_t *)canonical_request, canonical_request_len);
|
||||||
RETURN_LONG((zend_ulong)signable);
|
RETURN_LONG((zend_ulong)signable);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signable_release) {
|
PHP_FUNCTION(aws_crt_signable_release) {
|
||||||
zend_ulong php_signable = 0;
|
zend_ulong php_signable = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_signable);
|
aws_php_parse_parameters("l", &php_signable);
|
||||||
|
|
||||||
aws_crt_signable *signable = (void *)php_signable;
|
aws_crt_signable *signable = (void *)php_signable;
|
||||||
aws_crt_signable_release(signable);
|
aws_crt_signable_release(signable);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_result_release) {
|
PHP_FUNCTION(aws_crt_signing_result_release) {
|
||||||
zend_ulong php_signing_result = 0;
|
zend_ulong php_signing_result = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_signing_result);
|
aws_php_parse_parameters("l", &php_signing_result);
|
||||||
aws_crt_signing_result *result = (void *)php_signing_result;
|
aws_crt_signing_result *result = (void *)php_signing_result;
|
||||||
aws_crt_signing_result_release(result);
|
aws_crt_signing_result_release(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_signing_result_apply_to_http_request) {
|
PHP_FUNCTION(aws_crt_signing_result_apply_to_http_request) {
|
||||||
zend_ulong php_signing_result = 0;
|
zend_ulong php_signing_result = 0;
|
||||||
zend_ulong php_http_request = 0;
|
zend_ulong php_http_request = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_signing_result, &php_http_request);
|
aws_php_parse_parameters("ll", &php_signing_result, &php_http_request);
|
||||||
aws_crt_signing_result *result = (void *)php_signing_result;
|
aws_crt_signing_result *result = (void *)php_signing_result;
|
||||||
aws_crt_http_message *request = (void *)php_http_request;
|
aws_crt_http_message *request = (void *)php_http_request;
|
||||||
|
|
||||||
if (aws_crt_signing_result_apply_to_http_request(result, request)) {
|
if (aws_crt_signing_result_apply_to_http_request(result, request)) {
|
||||||
aws_php_throw_exception(
|
aws_php_throw_exception(
|
||||||
"Failed to apply signing result to HTTP request: %s", aws_crt_error_name(aws_crt_last_error()));
|
"Failed to apply signing result to HTTP request: %s", aws_crt_error_name(aws_crt_last_error()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct _signing_state {
|
typedef struct _signing_state {
|
||||||
struct aws_promise *promise;
|
struct aws_promise *promise;
|
||||||
zval *on_complete;
|
zval *on_complete;
|
||||||
aws_crt_signing_result *signing_result;
|
aws_crt_signing_result *signing_result;
|
||||||
int error_code;
|
int error_code;
|
||||||
} signing_state;
|
} signing_state;
|
||||||
|
|
||||||
/* called on main thread to deliver result to php */
|
/* called on main thread to deliver result to php */
|
||||||
static void s_sign_aws_complete(void *data) {
|
static void s_sign_aws_complete(void *data) {
|
||||||
signing_state *state = data;
|
signing_state *state = data;
|
||||||
zval *on_complete = state->on_complete;
|
zval *on_complete = state->on_complete;
|
||||||
aws_php_invoke_callback(on_complete, "ll", (zend_ulong)state->signing_result, (zend_ulong)state->error_code);
|
aws_php_invoke_callback(on_complete, "ll", (zend_ulong)state->signing_result, (zend_ulong)state->error_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* called from signing process in aws_sign_request_aws */
|
/* called from signing process in aws_sign_request_aws */
|
||||||
static void s_on_sign_request_aws_complete(aws_crt_signing_result *result, int error_code, void *user_data) {
|
static void s_on_sign_request_aws_complete(aws_crt_signing_result *result, int error_code, void *user_data) {
|
||||||
signing_state *state = user_data;
|
signing_state *state = user_data;
|
||||||
struct aws_promise *promise = state->promise;
|
struct aws_promise *promise = state->promise;
|
||||||
|
|
||||||
state->signing_result = result;
|
state->signing_result = result;
|
||||||
state->error_code = error_code;
|
state->error_code = error_code;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Must execute PHP callback before this function returns, or signing_result will be killed
|
* Must execute PHP callback before this function returns, or signing_result will be killed
|
||||||
* so the callback is queued back to the main thread and will have run when yield returns
|
* so the callback is queued back to the main thread and will have run when yield returns
|
||||||
*/
|
*/
|
||||||
aws_php_task complete_callback_task = {
|
aws_php_task complete_callback_task = {
|
||||||
.callback = s_sign_aws_complete,
|
.callback = s_sign_aws_complete,
|
||||||
.data = state,
|
.data = state,
|
||||||
};
|
};
|
||||||
aws_php_thread_queue_push(&s_aws_php_main_thread_queue, complete_callback_task);
|
aws_php_thread_queue_push(&s_aws_php_main_thread_queue, complete_callback_task);
|
||||||
aws_php_thread_queue_yield(&s_aws_php_main_thread_queue);
|
aws_php_thread_queue_yield(&s_aws_php_main_thread_queue);
|
||||||
|
|
||||||
if (error_code) {
|
if (error_code) {
|
||||||
aws_promise_fail(promise, error_code);
|
aws_promise_fail(promise, error_code);
|
||||||
} else {
|
} else {
|
||||||
aws_promise_complete(promise, result, NULL);
|
aws_promise_complete(promise, result, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_sign_request_aws) {
|
PHP_FUNCTION(aws_crt_sign_request_aws) {
|
||||||
zend_ulong php_signable = 0;
|
zend_ulong php_signable = 0;
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
zval *php_on_complete = 0;
|
zval *php_on_complete = 0;
|
||||||
zend_ulong php_user_data = 0;
|
zend_ulong php_user_data = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("llzl", &php_signable, &php_signing_config, &php_on_complete, &php_user_data);
|
aws_php_parse_parameters("llzl", &php_signable, &php_signing_config, &php_on_complete, &php_user_data);
|
||||||
|
|
||||||
aws_crt_signable *signable = (void *)php_signable;
|
aws_crt_signable *signable = (void *)php_signable;
|
||||||
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
|
||||||
|
|
||||||
struct aws_promise *promise = aws_promise_new(aws_crt_default_allocator());
|
struct aws_promise *promise = aws_promise_new(aws_crt_default_allocator());
|
||||||
signing_state state = {
|
signing_state state = {
|
||||||
.promise = promise,
|
.promise = promise,
|
||||||
.on_complete = php_on_complete,
|
.on_complete = php_on_complete,
|
||||||
};
|
};
|
||||||
int ret = aws_crt_sign_request_aws(signable, signing_config, s_on_sign_request_aws_complete, &state);
|
int ret = aws_crt_sign_request_aws(signable, signing_config, s_on_sign_request_aws_complete, &state);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
int last_error = aws_crt_last_error();
|
int last_error = aws_crt_last_error();
|
||||||
aws_promise_fail(promise, last_error);
|
aws_promise_fail(promise, last_error);
|
||||||
aws_php_throw_exception(
|
aws_php_throw_exception(
|
||||||
"aws_crt_sign_request_aws: error starting signing process: %s", aws_crt_error_name(last_error));
|
"aws_crt_sign_request_aws: error starting signing process: %s", aws_crt_error_name(last_error));
|
||||||
}
|
}
|
||||||
|
|
||||||
aws_php_thread_queue_wait(&s_aws_php_main_thread_queue, promise);
|
aws_php_thread_queue_wait(&s_aws_php_main_thread_queue, promise);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
aws_promise_release(promise);
|
aws_promise_release(promise);
|
||||||
RETURN_LONG(ret);
|
RETURN_LONG(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_test_verify_sigv4a_signing) {
|
PHP_FUNCTION(aws_crt_test_verify_sigv4a_signing) {
|
||||||
zend_ulong php_signable = 0;
|
zend_ulong php_signable = 0;
|
||||||
zend_ulong php_signing_config = 0;
|
zend_ulong php_signing_config = 0;
|
||||||
const char *expected_canonical_request = NULL;
|
const char *expected_canonical_request = NULL;
|
||||||
size_t expected_canonical_request_len = 0;
|
size_t expected_canonical_request_len = 0;
|
||||||
const char *signature = NULL;
|
const char *signature = NULL;
|
||||||
size_t signature_len = 0;
|
size_t signature_len = 0;
|
||||||
const char *ecc_key_pub_x = NULL;
|
const char *ecc_key_pub_x = NULL;
|
||||||
size_t ecc_key_pub_x_len = 0;
|
size_t ecc_key_pub_x_len = 0;
|
||||||
const char *ecc_key_pub_y = NULL;
|
const char *ecc_key_pub_y = NULL;
|
||||||
size_t ecc_key_pub_y_len = 0;
|
size_t ecc_key_pub_y_len = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters(
|
aws_php_parse_parameters(
|
||||||
"llssss",
|
"llssss",
|
||||||
&php_signable,
|
&php_signable,
|
||||||
&php_signing_config,
|
&php_signing_config,
|
||||||
&expected_canonical_request,
|
&expected_canonical_request,
|
||||||
&expected_canonical_request_len,
|
&expected_canonical_request_len,
|
||||||
&signature,
|
&signature,
|
||||||
&signature_len,
|
&signature_len,
|
||||||
&ecc_key_pub_x,
|
&ecc_key_pub_x,
|
||||||
&ecc_key_pub_x_len,
|
&ecc_key_pub_x_len,
|
||||||
&ecc_key_pub_y,
|
&ecc_key_pub_y,
|
||||||
&ecc_key_pub_y_len);
|
&ecc_key_pub_y_len);
|
||||||
|
|
||||||
const aws_crt_signable *signable = (void *)php_signable;
|
const aws_crt_signable *signable = (void *)php_signable;
|
||||||
const aws_crt_signing_config *signing_config = (void *)php_signing_config;
|
const aws_crt_signing_config *signing_config = (void *)php_signing_config;
|
||||||
|
|
||||||
bool result = AWS_OP_SUCCESS ==
|
bool result = AWS_OP_SUCCESS ==
|
||||||
aws_crt_test_verify_sigv4a_signing(
|
aws_crt_test_verify_sigv4a_signing(
|
||||||
signable, signing_config, expected_canonical_request, signature, ecc_key_pub_x, ecc_key_pub_y);
|
signable, signing_config, expected_canonical_request, signature, ecc_key_pub_x, ecc_key_pub_y);
|
||||||
|
|
||||||
RETURN_BOOL(result);
|
RETURN_BOOL(result);
|
||||||
}
|
}
|
||||||
|
|
296
vendor/aws/aws-crt-php/ext/stream.c
vendored
296
vendor/aws/aws-crt-php/ext/stream.c
vendored
|
@ -1,148 +1,148 @@
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "php_aws_crt.h"
|
#include "php_aws_crt.h"
|
||||||
|
|
||||||
/* PHP streams info:
|
/* PHP streams info:
|
||||||
* https://git.php.net/?p=php-src.git;a=blob;f=docs/streams.md;h=0ec3846d68bf70067297d8a6c691d2591c49b48a;hb=HEAD
|
* https://git.php.net/?p=php-src.git;a=blob;f=docs/streams.md;h=0ec3846d68bf70067297d8a6c691d2591c49b48a;hb=HEAD
|
||||||
* https://github.com/php/php-src/blob/PHP-5.6.0/main/php_streams.h
|
* https://github.com/php/php-src/blob/PHP-5.6.0/main/php_streams.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_options_new) {
|
PHP_FUNCTION(aws_crt_input_stream_options_new) {
|
||||||
if (zend_parse_parameters_none() == FAILURE) {
|
if (zend_parse_parameters_none() == FAILURE) {
|
||||||
aws_php_argparse_fail();
|
aws_php_argparse_fail();
|
||||||
}
|
}
|
||||||
|
|
||||||
aws_crt_input_stream_options *options = aws_crt_input_stream_options_new();
|
aws_crt_input_stream_options *options = aws_crt_input_stream_options_new();
|
||||||
RETURN_LONG((zend_ulong)options);
|
RETURN_LONG((zend_ulong)options);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_options_release) {
|
PHP_FUNCTION(aws_crt_input_stream_options_release) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_options);
|
aws_php_parse_parameters("l", &php_options);
|
||||||
|
|
||||||
aws_crt_input_stream_options *options = (void *)php_options;
|
aws_crt_input_stream_options *options = (void *)php_options;
|
||||||
aws_crt_input_stream_options_release(options);
|
aws_crt_input_stream_options_release(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_options_set_user_data) {
|
PHP_FUNCTION(aws_crt_input_stream_options_set_user_data) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
zval *user_data = NULL;
|
zval *user_data = NULL;
|
||||||
|
|
||||||
aws_php_parse_parameters("lz", &php_options, &user_data);
|
aws_php_parse_parameters("lz", &php_options, &user_data);
|
||||||
|
|
||||||
aws_crt_input_stream_options *options = (void *)php_options;
|
aws_crt_input_stream_options *options = (void *)php_options;
|
||||||
php_stream *stream = NULL;
|
php_stream *stream = NULL;
|
||||||
AWS_PHP_STREAM_FROM_ZVAL(stream, user_data);
|
AWS_PHP_STREAM_FROM_ZVAL(stream, user_data);
|
||||||
aws_crt_input_stream_options_set_user_data(options, stream);
|
aws_crt_input_stream_options_set_user_data(options, stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s_php_stream_seek(void *user_data, int64_t offset, aws_crt_input_stream_seek_basis basis) {
|
static int s_php_stream_seek(void *user_data, int64_t offset, aws_crt_input_stream_seek_basis basis) {
|
||||||
php_stream *stream = user_data;
|
php_stream *stream = user_data;
|
||||||
return php_stream_seek(stream, offset, basis);
|
return php_stream_seek(stream, offset, basis);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s_php_stream_read(void *user_data, uint8_t *dest, size_t dest_length) {
|
static int s_php_stream_read(void *user_data, uint8_t *dest, size_t dest_length) {
|
||||||
php_stream *stream = user_data;
|
php_stream *stream = user_data;
|
||||||
return php_stream_read(stream, (char *)dest, dest_length) != 0;
|
return php_stream_read(stream, (char *)dest, dest_length) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s_php_stream_get_length(void *user_data, int64_t *out_length) {
|
static int s_php_stream_get_length(void *user_data, int64_t *out_length) {
|
||||||
php_stream *stream = user_data;
|
php_stream *stream = user_data;
|
||||||
size_t pos = php_stream_tell(stream);
|
size_t pos = php_stream_tell(stream);
|
||||||
php_stream_seek(stream, 0, SEEK_END);
|
php_stream_seek(stream, 0, SEEK_END);
|
||||||
*out_length = php_stream_tell(stream);
|
*out_length = php_stream_tell(stream);
|
||||||
php_stream_seek(stream, pos, SEEK_SET);
|
php_stream_seek(stream, pos, SEEK_SET);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s_php_stream_get_status(void *user_data, aws_crt_input_stream_status *out_status) {
|
static int s_php_stream_get_status(void *user_data, aws_crt_input_stream_status *out_status) {
|
||||||
php_stream *stream = user_data;
|
php_stream *stream = user_data;
|
||||||
out_status->is_valid = stream != NULL;
|
out_status->is_valid = stream != NULL;
|
||||||
/* We would like to use php_stream_eof here, but certain streams (notably php://memory)
|
/* We would like to use php_stream_eof here, but certain streams (notably php://memory)
|
||||||
* are not actually capable of EOF, so we get to do it the hard way */
|
* are not actually capable of EOF, so we get to do it the hard way */
|
||||||
int64_t length = 0;
|
int64_t length = 0;
|
||||||
int64_t pos = 0;
|
int64_t pos = 0;
|
||||||
s_php_stream_get_length(stream, &length);
|
s_php_stream_get_length(stream, &length);
|
||||||
pos = php_stream_tell(stream);
|
pos = php_stream_tell(stream);
|
||||||
out_status->is_end_of_stream = pos == length;
|
out_status->is_end_of_stream = pos == length;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void s_php_stream_destroy(void *user_data) {
|
static void s_php_stream_destroy(void *user_data) {
|
||||||
(void)user_data;
|
(void)user_data;
|
||||||
/* no op, stream will be freed by PHP refcount dropping from InputStream::stream */
|
/* no op, stream will be freed by PHP refcount dropping from InputStream::stream */
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_new) {
|
PHP_FUNCTION(aws_crt_input_stream_new) {
|
||||||
zend_ulong php_options = 0;
|
zend_ulong php_options = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_options);
|
aws_php_parse_parameters("l", &php_options);
|
||||||
|
|
||||||
aws_crt_input_stream_options *options = (void *)php_options;
|
aws_crt_input_stream_options *options = (void *)php_options;
|
||||||
aws_crt_input_stream_options_set_seek(options, s_php_stream_seek);
|
aws_crt_input_stream_options_set_seek(options, s_php_stream_seek);
|
||||||
aws_crt_input_stream_options_set_read(options, s_php_stream_read);
|
aws_crt_input_stream_options_set_read(options, s_php_stream_read);
|
||||||
aws_crt_input_stream_options_set_get_status(options, s_php_stream_get_status);
|
aws_crt_input_stream_options_set_get_status(options, s_php_stream_get_status);
|
||||||
aws_crt_input_stream_options_set_get_length(options, s_php_stream_get_length);
|
aws_crt_input_stream_options_set_get_length(options, s_php_stream_get_length);
|
||||||
aws_crt_input_stream_options_set_destroy(options, s_php_stream_destroy);
|
aws_crt_input_stream_options_set_destroy(options, s_php_stream_destroy);
|
||||||
aws_crt_input_stream *stream = aws_crt_input_stream_new(options);
|
aws_crt_input_stream *stream = aws_crt_input_stream_new(options);
|
||||||
RETURN_LONG((zend_ulong)stream);
|
RETURN_LONG((zend_ulong)stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_release) {
|
PHP_FUNCTION(aws_crt_input_stream_release) {
|
||||||
zend_ulong php_stream = 0;
|
zend_ulong php_stream = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_stream);
|
aws_php_parse_parameters("l", &php_stream);
|
||||||
|
|
||||||
aws_crt_input_stream *stream = (void *)php_stream;
|
aws_crt_input_stream *stream = (void *)php_stream;
|
||||||
aws_crt_input_stream_release(stream);
|
aws_crt_input_stream_release(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_seek) {
|
PHP_FUNCTION(aws_crt_input_stream_seek) {
|
||||||
zend_ulong php_stream = 0;
|
zend_ulong php_stream = 0;
|
||||||
zend_ulong offset = 0;
|
zend_ulong offset = 0;
|
||||||
zend_ulong basis = 0;
|
zend_ulong basis = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("lll", &php_stream, &offset, &basis);
|
aws_php_parse_parameters("lll", &php_stream, &offset, &basis);
|
||||||
|
|
||||||
aws_crt_input_stream *stream = (void *)php_stream;
|
aws_crt_input_stream *stream = (void *)php_stream;
|
||||||
RETURN_LONG(aws_crt_input_stream_seek(stream, offset, basis));
|
RETURN_LONG(aws_crt_input_stream_seek(stream, offset, basis));
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_read) {
|
PHP_FUNCTION(aws_crt_input_stream_read) {
|
||||||
zend_ulong php_stream = 0;
|
zend_ulong php_stream = 0;
|
||||||
zend_ulong length = 0;
|
zend_ulong length = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("ll", &php_stream, &length);
|
aws_php_parse_parameters("ll", &php_stream, &length);
|
||||||
|
|
||||||
aws_crt_input_stream *stream = (void *)php_stream;
|
aws_crt_input_stream *stream = (void *)php_stream;
|
||||||
uint8_t *buf = emalloc(length);
|
uint8_t *buf = emalloc(length);
|
||||||
int ret = aws_crt_input_stream_read(stream, buf, length);
|
int ret = aws_crt_input_stream_read(stream, buf, length);
|
||||||
XRETVAL_STRINGL((const char *)buf, length);
|
XRETVAL_STRINGL((const char *)buf, length);
|
||||||
efree(buf);
|
efree(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_eof) {
|
PHP_FUNCTION(aws_crt_input_stream_eof) {
|
||||||
zend_ulong php_stream = 0;
|
zend_ulong php_stream = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_stream);
|
aws_php_parse_parameters("l", &php_stream);
|
||||||
|
|
||||||
aws_crt_input_stream *stream = (void *)php_stream;
|
aws_crt_input_stream *stream = (void *)php_stream;
|
||||||
aws_crt_input_stream_status status = {0};
|
aws_crt_input_stream_status status = {0};
|
||||||
aws_crt_input_stream_get_status(stream, &status);
|
aws_crt_input_stream_get_status(stream, &status);
|
||||||
RETURN_BOOL(status.is_end_of_stream);
|
RETURN_BOOL(status.is_end_of_stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_FUNCTION(aws_crt_input_stream_get_length) {
|
PHP_FUNCTION(aws_crt_input_stream_get_length) {
|
||||||
zend_ulong php_stream = 0;
|
zend_ulong php_stream = 0;
|
||||||
|
|
||||||
aws_php_parse_parameters("l", &php_stream);
|
aws_php_parse_parameters("l", &php_stream);
|
||||||
|
|
||||||
aws_crt_input_stream *stream = (void *)php_stream;
|
aws_crt_input_stream *stream = (void *)php_stream;
|
||||||
int64_t length = 0;
|
int64_t length = 0;
|
||||||
aws_crt_input_stream_get_length(stream, &length);
|
aws_crt_input_stream_get_length(stream, &length);
|
||||||
RETURN_LONG(length);
|
RETURN_LONG(length);
|
||||||
}
|
}
|
||||||
|
|
48
vendor/aws/aws-crt-php/format-check.sh
vendored
48
vendor/aws/aws-crt-php/format-check.sh
vendored
|
@ -1,24 +1,24 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [[ -z $CLANG_FORMAT ]] ; then
|
if [[ -z $CLANG_FORMAT ]] ; then
|
||||||
CLANG_FORMAT=clang-format
|
CLANG_FORMAT=clang-format
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if NOT type $CLANG_FORMAT 2> /dev/null ; then
|
if NOT type $CLANG_FORMAT 2> /dev/null ; then
|
||||||
echo "No appropriate clang-format found."
|
echo "No appropriate clang-format found."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FAIL=0
|
FAIL=0
|
||||||
SOURCE_FILES=`find src ext -type f \( -name '*.c' \)`
|
SOURCE_FILES=`find src ext -type f \( -name '*.c' \)`
|
||||||
for i in $SOURCE_FILES
|
for i in $SOURCE_FILES
|
||||||
do
|
do
|
||||||
$CLANG_FORMAT -output-replacements-xml $i | grep -c "<replacement " > /dev/null
|
$CLANG_FORMAT -output-replacements-xml $i | grep -c "<replacement " > /dev/null
|
||||||
if [ $? -ne 1 ]
|
if [ $? -ne 1 ]
|
||||||
then
|
then
|
||||||
echo "$i failed clang-format check."
|
echo "$i failed clang-format check."
|
||||||
FAIL=1
|
FAIL=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
exit $FAIL
|
exit $FAIL
|
||||||
|
|
48
vendor/aws/aws-crt-php/gen_api.php
vendored
48
vendor/aws/aws-crt-php/gen_api.php
vendored
|
@ -1,24 +1,24 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$source = "php://stdin";
|
$source = "php://stdin";
|
||||||
if (isset($argv[1])) {
|
if (isset($argv[1])) {
|
||||||
$source = $argv[1];
|
$source = $argv[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
$input_lines = file($source);
|
$input_lines = file($source);
|
||||||
foreach ($input_lines as $line) {
|
foreach ($input_lines as $line) {
|
||||||
// Strip AWS_EXTERN_C_BEGIN/END
|
// Strip AWS_EXTERN_C_BEGIN/END
|
||||||
if (preg_match('/AWS_EXTERN_C/', $line)) {
|
if (preg_match('/AWS_EXTERN_C/', $line)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strip macros/includes
|
// Strip macros/includes
|
||||||
if (preg_match('/^#/', $line)) {
|
if (preg_match('/^#/', $line)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strip visibility attributes
|
// Strip visibility attributes
|
||||||
$line = str_replace('AWS_CRT_API ', '', $line);
|
$line = str_replace('AWS_CRT_API ', '', $line);
|
||||||
|
|
||||||
echo($line);
|
echo($line);
|
||||||
}
|
}
|
||||||
|
|
3996
vendor/aws/aws-crt-php/gen_stub.php
vendored
3996
vendor/aws/aws-crt-php/gen_stub.php
vendored
File diff suppressed because it is too large
Load diff
38
vendor/aws/aws-crt-php/package.xml-template_post
vendored
38
vendor/aws/aws-crt-php/package.xml-template_post
vendored
|
@ -1,19 +1,19 @@
|
||||||
</contents>
|
</contents>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<required>
|
<required>
|
||||||
<php>
|
<php>
|
||||||
<min>7.4.0</min>
|
<min>7.4.0</min>
|
||||||
</php>
|
</php>
|
||||||
<pearinstaller>
|
<pearinstaller>
|
||||||
<min>1.10.0</min>
|
<min>1.10.0</min>
|
||||||
</pearinstaller>
|
</pearinstaller>
|
||||||
</required>
|
</required>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<providesextension>awscrt</providesextension>
|
<providesextension>awscrt</providesextension>
|
||||||
<extsrcrelease/>
|
<extsrcrelease/>
|
||||||
<changelog>
|
<changelog>
|
||||||
<release>
|
<release>
|
||||||
|
|
||||||
</release>
|
</release>
|
||||||
</changelog>
|
</changelog>
|
||||||
</package>
|
</package>
|
||||||
|
|
48
vendor/aws/aws-crt-php/package.xml-template_pre
vendored
48
vendor/aws/aws-crt-php/package.xml-template_pre
vendored
|
@ -1,24 +1,24 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<package packagerversion="1.8.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
|
<package packagerversion="1.8.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
|
||||||
<name>awscrt</name>
|
<name>awscrt</name>
|
||||||
<channel>pecl.php.net</channel>
|
<channel>pecl.php.net</channel>
|
||||||
<summary>AWS Common Runtime PHP bindings</summary>
|
<summary>AWS Common Runtime PHP bindings</summary>
|
||||||
<description>AWS Common Runtime provides a set of low level tools as network protocols and authentication used by the AWSSDK for PHP to provide high level API to access AWS services.</description>
|
<description>AWS Common Runtime provides a set of low level tools as network protocols and authentication used by the AWSSDK for PHP to provide high level API to access AWS services.</description>
|
||||||
<lead>
|
<lead>
|
||||||
<name>{{{NAME}}}</name>
|
<name>{{{NAME}}}</name>
|
||||||
<user>{{{USER}}}</user>
|
<user>{{{USER}}}</user>
|
||||||
<email>{{{EMAIL}}}</email>
|
<email>{{{EMAIL}}}</email>
|
||||||
<active>yes</active>
|
<active>yes</active>
|
||||||
</lead>
|
</lead>
|
||||||
<date>{{{TODAY}}}</date>
|
<date>{{{TODAY}}}</date>
|
||||||
<version>
|
<version>
|
||||||
<release>{{{VERSION}}}</release>
|
<release>{{{VERSION}}}</release>
|
||||||
<api>1.0.0</api>
|
<api>1.0.0</api>
|
||||||
</version>
|
</version>
|
||||||
<stability>
|
<stability>
|
||||||
<release>devel</release>
|
<release>devel</release>
|
||||||
<api>stable</api>
|
<api>stable</api>
|
||||||
</stability>
|
</stability>
|
||||||
<license uri="https://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</license>
|
<license uri="https://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</license>
|
||||||
<notes>{{{NOTES}}}</notes>
|
<notes>{{{NOTES}}}</notes>
|
||||||
<contents>
|
<contents>
|
||||||
|
|
4
vendor/aws/aws-crt-php/php-win.ini
vendored
4
vendor/aws/aws-crt-php/php-win.ini
vendored
|
@ -1,2 +1,2 @@
|
||||||
extension=php_awscrt.dll
|
extension=php_awscrt.dll
|
||||||
extension=php_openssl.dll
|
extension=php_openssl.dll
|
||||||
|
|
2
vendor/aws/aws-crt-php/php.ini
vendored
2
vendor/aws/aws-crt-php/php.ini
vendored
|
@ -1 +1 @@
|
||||||
extension=modules/awscrt.so
|
extension=modules/awscrt.so
|
||||||
|
|
288
vendor/aws/aws-crt-php/prepare_package_xml.sh
vendored
288
vendor/aws/aws-crt-php/prepare_package_xml.sh
vendored
|
@ -1,144 +1,144 @@
|
||||||
#!/bin/zsh
|
#!/bin/zsh
|
||||||
zparseopts -A opts -name: -user: -email: -version: -notes:
|
zparseopts -A opts -name: -user: -email: -version: -notes:
|
||||||
if [[ $# -lt 10 ]]
|
if [[ $# -lt 10 ]]
|
||||||
then
|
then
|
||||||
echo "Usage ${0} --name NAME, --user USER --email EMAIL --version VERSION --notes NOTES"
|
echo "Usage ${0} --name NAME, --user USER --email EMAIL --version VERSION --notes NOTES"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
NAME="${opts[--name]}"
|
NAME="${opts[--name]}"
|
||||||
USER="${opts[--user]}"
|
USER="${opts[--user]}"
|
||||||
EMAIL="${opts[--email]}"
|
EMAIL="${opts[--email]}"
|
||||||
VERSION="${opts[--version]}"
|
VERSION="${opts[--version]}"
|
||||||
NOTES="${opts[--notes]}"
|
NOTES="${opts[--notes]}"
|
||||||
|
|
||||||
TODAY=$(date -u +%Y-%m-%d)
|
TODAY=$(date -u +%Y-%m-%d)
|
||||||
|
|
||||||
cat package.xml-template_pre \
|
cat package.xml-template_pre \
|
||||||
| sed "s/{{{NAME}}}/$NAME/g" \
|
| sed "s/{{{NAME}}}/$NAME/g" \
|
||||||
| sed "s/{{{USER}}}/$USER/g" \
|
| sed "s/{{{USER}}}/$USER/g" \
|
||||||
| sed "s/{{{EMAIL}}}/$EMAIL/g" \
|
| sed "s/{{{EMAIL}}}/$EMAIL/g" \
|
||||||
| sed "s/{{{TODAY}}}/$TODAY/g" \
|
| sed "s/{{{TODAY}}}/$TODAY/g" \
|
||||||
| sed "s/{{{VERSION}}}/$VERSION/g" \
|
| sed "s/{{{VERSION}}}/$VERSION/g" \
|
||||||
| sed "s/{{{NOTES}}}/$NOTES/g"
|
| sed "s/{{{NOTES}}}/$NOTES/g"
|
||||||
|
|
||||||
source_ext='(c|cc|h|cpp|hpp|m4|w32|ini|frag|cmake|inl|in|py|gnu|yaml|def|pl|S|s|errordata|go|lds|num|asm|mod|peg|mk|rs|toml|sh)'
|
source_ext='(c|cc|h|cpp|hpp|m4|w32|ini|frag|cmake|inl|in|py|gnu|yaml|def|pl|S|s|errordata|go|lds|num|asm|mod|peg|mk|rs|toml|sh)'
|
||||||
doc_ext='(md|json|html|dot|graphml|png|gn|sha1|css|rst|)'
|
doc_ext='(md|json|html|dot|graphml|png|gn|sha1|css|rst|)'
|
||||||
|
|
||||||
special_docs='(LICENSE*|NOTICE|changelog.txt|CHANGELOG|THIRD-PARTY|README*|readme|METADATA|CONTRIBUTORS|UPDATING|doc.config)'
|
special_docs='(LICENSE*|NOTICE|changelog.txt|CHANGELOG|THIRD-PARTY|README*|readme|METADATA|CONTRIBUTORS|UPDATING|doc.config)'
|
||||||
special_tests='(ci-test.sh|format-check.sh|run_tests*|sanitizer-blacklist.txt|run-clang-tidy.sh|benchmark-build-run.sh|break-tests.sh|generate-coverage.sh|test.xml)'
|
special_tests='(ci-test.sh|format-check.sh|run_tests*|sanitizer-blacklist.txt|run-clang-tidy.sh|benchmark-build-run.sh|break-tests.sh|generate-coverage.sh|test.xml)'
|
||||||
special_src='(gen_api.php|gen_stub.php|CMakeLists.txt|post.sh|postun.sh|Makefile*|build-buildspec.sh|build-deps.sh|objects.txt|go.*|BUILD*|DEPS|install_and_run.sh|codemod.sh|requirements.txt)'
|
special_src='(gen_api.php|gen_stub.php|CMakeLists.txt|post.sh|postun.sh|Makefile*|build-buildspec.sh|build-deps.sh|objects.txt|go.*|BUILD*|DEPS|install_and_run.sh|codemod.sh|requirements.txt)'
|
||||||
skip_files='(package.xml*|prepare_release.sh|codereview.settings|*.o|*.a|*.obj|*.lib|break-tests-android.sh|whitespace.txt|prepare_package_xml.sh|crypto_test_data.cc|*.pdf|*.svg|*.docx|cbmc-proof.txt|codecov*|litani*|*.toml)'
|
skip_files='(package.xml*|prepare_release.sh|codereview.settings|*.o|*.a|*.obj|*.lib|break-tests-android.sh|whitespace.txt|prepare_package_xml.sh|crypto_test_data.cc|*.pdf|*.svg|*.docx|cbmc-proof.txt|codecov*|litani*|*.toml)'
|
||||||
|
|
||||||
special_scripts='(awscrt.stub.php)'
|
special_scripts='(awscrt.stub.php)'
|
||||||
|
|
||||||
skip_directories='(tests|test|AWSCRTAndroidTestRunner|docker-images|codebuild|fuzz|verfication|third_party|docs|generated-src|aws-lc|aws-crt-sys)'
|
skip_directories='(tests|test|AWSCRTAndroidTestRunner|docker-images|codebuild|fuzz|verfication|third_party|docs|generated-src|aws-lc|aws-crt-sys)'
|
||||||
|
|
||||||
process_file() {
|
process_file() {
|
||||||
if (( $# == 0 ))
|
if (( $# == 0 ))
|
||||||
then
|
then
|
||||||
echo "ERROR: filename not passed"
|
echo "ERROR: filename not passed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [[ $1 = $~skip_files ]]
|
if [[ $1 = $~skip_files ]]
|
||||||
then
|
then
|
||||||
# This file is not part of the release bundle
|
# This file is not part of the release bundle
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n '<file name="'"$1"'" role="'
|
echo -n '<file name="'"$1"'" role="'
|
||||||
# Special cases
|
# Special cases
|
||||||
case ${a} in
|
case ${a} in
|
||||||
$~special_scripts)
|
$~special_scripts)
|
||||||
echo -n 'script'
|
echo -n 'script'
|
||||||
;;
|
;;
|
||||||
$~special_docs)
|
$~special_docs)
|
||||||
echo -n 'doc'
|
echo -n 'doc'
|
||||||
;;
|
;;
|
||||||
$~special_tests)
|
$~special_tests)
|
||||||
echo -n 'test'
|
echo -n 'test'
|
||||||
;;
|
;;
|
||||||
$~special_src)
|
$~special_src)
|
||||||
echo -n 'src'
|
echo -n 'src'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Extension based cases
|
# Extension based cases
|
||||||
case ${a:t:e} in
|
case ${a:t:e} in
|
||||||
$~source_ext)
|
$~source_ext)
|
||||||
echo -n 'src'
|
echo -n 'src'
|
||||||
;;
|
;;
|
||||||
$~doc_ext)
|
$~doc_ext)
|
||||||
echo -n 'doc'
|
echo -n 'doc'
|
||||||
;;
|
;;
|
||||||
php)
|
php)
|
||||||
echo -n 'script'
|
echo -n 'script'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "${a:t:e} - ${a} - FAIL TO RECOGNIZE"
|
echo "${a:t:e} - ${a} - FAIL TO RECOGNIZE"
|
||||||
exit 1
|
exit 1
|
||||||
esac
|
esac
|
||||||
esac
|
esac
|
||||||
echo '"/>'
|
echo '"/>'
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
process_dir() {
|
process_dir() {
|
||||||
if (( $# == 0 ))
|
if (( $# == 0 ))
|
||||||
then
|
then
|
||||||
echo "WARNING: dirname not passed"
|
echo "WARNING: dirname not passed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [[ "${1}" = $~skip_directories ]]
|
if [[ "${1}" = $~skip_directories ]]
|
||||||
then
|
then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
echo '<dir name="'"$1"'">'
|
echo '<dir name="'"$1"'">'
|
||||||
cd "$1"
|
cd "$1"
|
||||||
for a in *
|
for a in *
|
||||||
do
|
do
|
||||||
if [[ -f ${a} ]]
|
if [[ -f ${a} ]]
|
||||||
then process_file "${a}"
|
then process_file "${a}"
|
||||||
else process_dir "${a}"
|
else process_dir "${a}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Special cases for compiler features placed in tests directories in and s2n
|
# Special cases for compiler features placed in tests directories in and s2n
|
||||||
if [[ "${1}" = "s2n" && -d tests ]]
|
if [[ "${1}" = "s2n" && -d tests ]]
|
||||||
then
|
then
|
||||||
echo '<dir name="tests">'
|
echo '<dir name="tests">'
|
||||||
echo '<dir name="features">'
|
echo '<dir name="features">'
|
||||||
cd tests/features
|
cd tests/features
|
||||||
for a in *
|
for a in *
|
||||||
do
|
do
|
||||||
process_file "${a}"
|
process_file "${a}"
|
||||||
done
|
done
|
||||||
cd ../..
|
cd ../..
|
||||||
echo '</dir>'
|
echo '</dir>'
|
||||||
echo '</dir>'
|
echo '</dir>'
|
||||||
fi
|
fi
|
||||||
echo '</dir>'
|
echo '</dir>'
|
||||||
cd ..
|
cd ..
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<dir name="/">'
|
echo '<dir name="/">'
|
||||||
for a in *
|
for a in *
|
||||||
do
|
do
|
||||||
if [[ ${a} == 'tests' ]]
|
if [[ ${a} == 'tests' ]]
|
||||||
then
|
then
|
||||||
echo '<dir name="tests">'
|
echo '<dir name="tests">'
|
||||||
for b in tests/*
|
for b in tests/*
|
||||||
do
|
do
|
||||||
echo '<file name="'$( basename "${b}" )'" role="test" />'
|
echo '<file name="'$( basename "${b}" )'" role="test" />'
|
||||||
done
|
done
|
||||||
echo '</dir>'
|
echo '</dir>'
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [[ -f ${a} ]]
|
if [[ -f ${a} ]]
|
||||||
then process_file "${a}"
|
then process_file "${a}"
|
||||||
else process_dir "${a}"
|
else process_dir "${a}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo '</dir>'
|
echo '</dir>'
|
||||||
|
|
||||||
cat package.xml-template_post
|
cat package.xml-template_post
|
||||||
|
|
||||||
|
|
62
vendor/aws/aws-crt-php/prepare_release.sh
vendored
62
vendor/aws/aws-crt-php/prepare_release.sh
vendored
|
@ -1,31 +1,31 @@
|
||||||
#!/bin/zsh
|
#!/bin/zsh
|
||||||
zparseopts -A opts -name: -user: -email: -version: -notes:
|
zparseopts -A opts -name: -user: -email: -version: -notes:
|
||||||
if [[ $# -lt 10 ]]; then
|
if [[ $# -lt 10 ]]; then
|
||||||
echo "Usage ${0} --name NAME --user USER --email EMAIL --version VERSION --notes NOTES"
|
echo "Usage ${0} --name NAME --user USER --email EMAIL --version VERSION --notes NOTES"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
PACKAGE='awscrt'
|
PACKAGE='awscrt'
|
||||||
NAME="${opts[--name]}"
|
NAME="${opts[--name]}"
|
||||||
USER="${opts[--user]}"
|
USER="${opts[--user]}"
|
||||||
EMAIL="${opts[--email]}"
|
EMAIL="${opts[--email]}"
|
||||||
VERSION="${opts[--version]}"
|
VERSION="${opts[--version]}"
|
||||||
NOTES="${opts[--notes]}"
|
NOTES="${opts[--notes]}"
|
||||||
|
|
||||||
./prepare_package_xml.sh --name "${NAME}" --user "${USER}" --email "${EMAIL}" --version "${VERSION}" --notes "${NOTES}" >package.xml
|
./prepare_package_xml.sh --name "${NAME}" --user "${USER}" --email "${EMAIL}" --version "${VERSION}" --notes "${NOTES}" >package.xml
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "ERROR PROCESSING review package.xml"
|
echo "ERROR PROCESSING review package.xml"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
tidy -xml -m -i package.xml
|
tidy -xml -m -i package.xml
|
||||||
pear package-validate
|
pear package-validate
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "ERROR VALIDATING review package.xml"
|
echo "ERROR VALIDATING review package.xml"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
pear package
|
pear package
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "ERROR PROCESSING review package.xml"
|
echo "ERROR PROCESSING review package.xml"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Size of ${PACKAGE}-${VERSION}.tgz: " $(du -h "${PACKAGE}-${VERSION}.tgz")
|
echo "Size of ${PACKAGE}-${VERSION}.tgz: " $(du -h "${PACKAGE}-${VERSION}.tgz")
|
||||||
|
|
36
vendor/aws/aws-crt-php/run_tests
vendored
36
vendor/aws/aws-crt-php/run_tests
vendored
|
@ -1,18 +1,18 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
launcher=
|
launcher=
|
||||||
if command -v catchsegv; then
|
if command -v catchsegv; then
|
||||||
launcher=catchsegv
|
launcher=catchsegv
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z $PHP_BINARY ]; then
|
if [ -z $PHP_BINARY ]; then
|
||||||
PHP_BINARY=$(which php)
|
PHP_BINARY=$(which php)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d vendor ]; then
|
if [ ! -d vendor ]; then
|
||||||
composer update
|
composer update
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$launcher $PHP_BINARY -c php.ini vendor/bin/phpunit tests --debug
|
$launcher $PHP_BINARY -c php.ini vendor/bin/phpunit tests --debug
|
||||||
|
|
8
vendor/aws/aws-crt-php/run_tests.bat
vendored
8
vendor/aws/aws-crt-php/run_tests.bat
vendored
|
@ -1,4 +1,4 @@
|
||||||
|
|
||||||
@echo on
|
@echo on
|
||||||
|
|
||||||
%PHP_BINARY% -c php-win.ini vendor/bin/phpunit tests --debug
|
%PHP_BINARY% -c php-win.ini vendor/bin/phpunit tests --debug
|
||||||
|
|
|
@ -1,69 +1,69 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource as NativeResource;
|
use AWS\CRT\NativeResource as NativeResource;
|
||||||
use AWS\CRT\Options as Options;
|
use AWS\CRT\Options as Options;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a set of AWS credentials
|
* Represents a set of AWS credentials
|
||||||
*
|
*
|
||||||
* @param array options:
|
* @param array options:
|
||||||
* - string access_key_id - AWS Access Key Id
|
* - string access_key_id - AWS Access Key Id
|
||||||
* - string secret_access_key - AWS Secret Access Key
|
* - string secret_access_key - AWS Secret Access Key
|
||||||
* - string session_token - Optional STS session token
|
* - string session_token - Optional STS session token
|
||||||
* - int expiration_timepoint_seconds - Optional time to expire these credentials
|
* - int expiration_timepoint_seconds - Optional time to expire these credentials
|
||||||
*/
|
*/
|
||||||
final class AwsCredentials extends NativeResource {
|
final class AwsCredentials extends NativeResource {
|
||||||
|
|
||||||
static function defaults() {
|
static function defaults() {
|
||||||
return [
|
return [
|
||||||
'access_key_id' => '',
|
'access_key_id' => '',
|
||||||
'secret_access_key' => '',
|
'secret_access_key' => '',
|
||||||
'session_token' => '',
|
'session_token' => '',
|
||||||
'expiration_timepoint_seconds' => 0,
|
'expiration_timepoint_seconds' => 0,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
private $access_key_id;
|
private $access_key_id;
|
||||||
private $secret_access_key;
|
private $secret_access_key;
|
||||||
private $session_token;
|
private $session_token;
|
||||||
private $expiration_timepoint_seconds = 0;
|
private $expiration_timepoint_seconds = 0;
|
||||||
|
|
||||||
public function __get($name) {
|
public function __get($name) {
|
||||||
return $this->$name;
|
return $this->$name;
|
||||||
}
|
}
|
||||||
|
|
||||||
function __construct(array $options = []) {
|
function __construct(array $options = []) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
$options = new Options($options, self::defaults());
|
$options = new Options($options, self::defaults());
|
||||||
$this->access_key_id = $options->access_key_id->asString();
|
$this->access_key_id = $options->access_key_id->asString();
|
||||||
$this->secret_access_key = $options->secret_access_key->asString();
|
$this->secret_access_key = $options->secret_access_key->asString();
|
||||||
$this->session_token = $options->session_token ? $options->session_token->asString() : null;
|
$this->session_token = $options->session_token ? $options->session_token->asString() : null;
|
||||||
$this->expiration_timepoint_seconds = $options->expiration_timepoint_seconds->asInt();
|
$this->expiration_timepoint_seconds = $options->expiration_timepoint_seconds->asInt();
|
||||||
|
|
||||||
if (strlen($this->access_key_id) == 0) {
|
if (strlen($this->access_key_id) == 0) {
|
||||||
throw new \InvalidArgumentException("access_key_id must be provided");
|
throw new \InvalidArgumentException("access_key_id must be provided");
|
||||||
}
|
}
|
||||||
if (strlen($this->secret_access_key) == 0) {
|
if (strlen($this->secret_access_key) == 0) {
|
||||||
throw new \InvalidArgumentException("secret_access_key must be provided");
|
throw new \InvalidArgumentException("secret_access_key must be provided");
|
||||||
}
|
}
|
||||||
|
|
||||||
$creds_options = self::$crt->aws_credentials_options_new();
|
$creds_options = self::$crt->aws_credentials_options_new();
|
||||||
self::$crt->aws_credentials_options_set_access_key_id($creds_options, $this->access_key_id);
|
self::$crt->aws_credentials_options_set_access_key_id($creds_options, $this->access_key_id);
|
||||||
self::$crt->aws_credentials_options_set_secret_access_key($creds_options, $this->secret_access_key);
|
self::$crt->aws_credentials_options_set_secret_access_key($creds_options, $this->secret_access_key);
|
||||||
self::$crt->aws_credentials_options_set_session_token($creds_options, $this->session_token);
|
self::$crt->aws_credentials_options_set_session_token($creds_options, $this->session_token);
|
||||||
self::$crt->aws_credentials_options_set_expiration_timepoint_seconds($creds_options, $this->expiration_timepoint_seconds);
|
self::$crt->aws_credentials_options_set_expiration_timepoint_seconds($creds_options, $this->expiration_timepoint_seconds);
|
||||||
$this->acquire(self::$crt->aws_credentials_new($creds_options));
|
$this->acquire(self::$crt->aws_credentials_new($creds_options));
|
||||||
self::$crt->aws_credentials_options_release($creds_options);
|
self::$crt->aws_credentials_options_release($creds_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct() {
|
function __destruct() {
|
||||||
self::$crt->aws_credentials_release($this->release());
|
self::$crt->aws_credentials_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource as NativeResource;
|
use AWS\CRT\NativeResource as NativeResource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for credentials providers
|
* Base class for credentials providers
|
||||||
*/
|
*/
|
||||||
abstract class CredentialsProvider extends NativeResource {
|
abstract class CredentialsProvider extends NativeResource {
|
||||||
|
|
||||||
function __construct(array $options = []) {
|
function __construct(array $options = []) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct() {
|
function __destruct() {
|
||||||
self::$crt->credentials_provider_release($this->release());
|
self::$crt->credentials_provider_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
use AWS\CRT\IO\InputStream;
|
use AWS\CRT\IO\InputStream;
|
||||||
use AWS\CRT\NativeResource as NativeResource;
|
use AWS\CRT\NativeResource as NativeResource;
|
||||||
|
|
||||||
class Signable extends NativeResource {
|
class Signable extends NativeResource {
|
||||||
|
|
||||||
public static function fromHttpRequest($http_message) {
|
public static function fromHttpRequest($http_message) {
|
||||||
return new Signable(function() use ($http_message) {
|
return new Signable(function() use ($http_message) {
|
||||||
return self::$crt->signable_new_from_http_request($http_message->native);
|
return self::$crt->signable_new_from_http_request($http_message->native);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function fromChunk($chunk_stream, $previous_signature="") {
|
public static function fromChunk($chunk_stream, $previous_signature="") {
|
||||||
if (!($chunk_stream instanceof InputStream)) {
|
if (!($chunk_stream instanceof InputStream)) {
|
||||||
$chunk_stream = new InputStream($chunk_stream);
|
$chunk_stream = new InputStream($chunk_stream);
|
||||||
}
|
}
|
||||||
return new Signable(function() use($chunk_stream, $previous_signature) {
|
return new Signable(function() use($chunk_stream, $previous_signature) {
|
||||||
return self::$crt->signable_new_from_chunk($chunk_stream->native, $previous_signature);
|
return self::$crt->signable_new_from_chunk($chunk_stream->native, $previous_signature);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function fromCanonicalRequest($canonical_request) {
|
public static function fromCanonicalRequest($canonical_request) {
|
||||||
return new Signable(function() use($canonical_request) {
|
return new Signable(function() use($canonical_request) {
|
||||||
return self::$crt->signable_new_from_canonical_request($canonical_request);
|
return self::$crt->signable_new_from_canonical_request($canonical_request);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function __construct($ctor) {
|
protected function __construct($ctor) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->acquire($ctor());
|
$this->acquire($ctor());
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct() {
|
function __destruct() {
|
||||||
self::$crt->signable_release($this->release());
|
self::$crt->signable_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,15 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
class SignatureType {
|
class SignatureType {
|
||||||
const HTTP_REQUEST_HEADERS = 0;
|
const HTTP_REQUEST_HEADERS = 0;
|
||||||
const HTTP_REQUEST_QUERY_PARAMS = 1;
|
const HTTP_REQUEST_QUERY_PARAMS = 1;
|
||||||
const HTTP_REQUEST_CHUNK = 2;
|
const HTTP_REQUEST_CHUNK = 2;
|
||||||
const HTTP_REQUEST_EVENT = 3;
|
const HTTP_REQUEST_EVENT = 3;
|
||||||
const CANONICAL_REQUEST_HEADERS = 4;
|
const CANONICAL_REQUEST_HEADERS = 4;
|
||||||
const CANONICAL_REQUEST_QUERY_PARAMS = 5;
|
const CANONICAL_REQUEST_QUERY_PARAMS = 5;
|
||||||
}
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
class SignedBodyHeaderType {
|
class SignedBodyHeaderType {
|
||||||
const NONE = 0;
|
const NONE = 0;
|
||||||
const X_AMZ_CONTENT_SHA256 = 1;
|
const X_AMZ_CONTENT_SHA256 = 1;
|
||||||
}
|
}
|
|
@ -1,75 +1,75 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource as NativeResource;
|
use AWS\CRT\NativeResource as NativeResource;
|
||||||
use AWS\CRT\Options as Options;
|
use AWS\CRT\Options as Options;
|
||||||
|
|
||||||
class SigningConfigAWS extends NativeResource {
|
class SigningConfigAWS extends NativeResource {
|
||||||
|
|
||||||
public static function defaults() {
|
public static function defaults() {
|
||||||
return [
|
return [
|
||||||
'algorithm' => SigningAlgorithm::SIGv4,
|
'algorithm' => SigningAlgorithm::SIGv4,
|
||||||
'signature_type' => SignatureType::HTTP_REQUEST_HEADERS,
|
'signature_type' => SignatureType::HTTP_REQUEST_HEADERS,
|
||||||
'credentials_provider' => null,
|
'credentials_provider' => null,
|
||||||
'region' => null,
|
'region' => null,
|
||||||
'service' => null,
|
'service' => null,
|
||||||
'use_double_uri_encode' => false,
|
'use_double_uri_encode' => false,
|
||||||
'should_normalize_uri_path' => false,
|
'should_normalize_uri_path' => false,
|
||||||
'omit_session_token' => false,
|
'omit_session_token' => false,
|
||||||
'signed_body_value' => null,
|
'signed_body_value' => null,
|
||||||
'signed_body_header_type' => SignedBodyHeaderType::NONE,
|
'signed_body_header_type' => SignedBodyHeaderType::NONE,
|
||||||
'expiration_in_seconds' => 0,
|
'expiration_in_seconds' => 0,
|
||||||
'date' => time(),
|
'date' => time(),
|
||||||
'should_sign_header' => null,
|
'should_sign_header' => null,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
private $options;
|
private $options;
|
||||||
|
|
||||||
public function __construct(array $options = []) {
|
public function __construct(array $options = []) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->options = $options = new Options($options, self::defaults());
|
$this->options = $options = new Options($options, self::defaults());
|
||||||
$sc = $this->acquire(self::$crt->signing_config_aws_new());
|
$sc = $this->acquire(self::$crt->signing_config_aws_new());
|
||||||
self::$crt->signing_config_aws_set_algorithm($sc, $options->algorithm->asInt());
|
self::$crt->signing_config_aws_set_algorithm($sc, $options->algorithm->asInt());
|
||||||
self::$crt->signing_config_aws_set_signature_type($sc, $options->signature_type->asInt());
|
self::$crt->signing_config_aws_set_signature_type($sc, $options->signature_type->asInt());
|
||||||
if ($credentials_provider = $options->credentials_provider->asObject()) {
|
if ($credentials_provider = $options->credentials_provider->asObject()) {
|
||||||
self::$crt->signing_config_aws_set_credentials_provider(
|
self::$crt->signing_config_aws_set_credentials_provider(
|
||||||
$sc,
|
$sc,
|
||||||
$credentials_provider->native);
|
$credentials_provider->native);
|
||||||
}
|
}
|
||||||
self::$crt->signing_config_aws_set_region(
|
self::$crt->signing_config_aws_set_region(
|
||||||
$sc, $options->region->asString());
|
$sc, $options->region->asString());
|
||||||
self::$crt->signing_config_aws_set_service(
|
self::$crt->signing_config_aws_set_service(
|
||||||
$sc, $options->service->asString());
|
$sc, $options->service->asString());
|
||||||
self::$crt->signing_config_aws_set_use_double_uri_encode(
|
self::$crt->signing_config_aws_set_use_double_uri_encode(
|
||||||
$sc, $options->use_double_uri_encode->asBool());
|
$sc, $options->use_double_uri_encode->asBool());
|
||||||
self::$crt->signing_config_aws_set_should_normalize_uri_path(
|
self::$crt->signing_config_aws_set_should_normalize_uri_path(
|
||||||
$sc, $options->should_normalize_uri_path->asBool());
|
$sc, $options->should_normalize_uri_path->asBool());
|
||||||
self::$crt->signing_config_aws_set_omit_session_token(
|
self::$crt->signing_config_aws_set_omit_session_token(
|
||||||
$sc, $options->omit_session_token->asBool());
|
$sc, $options->omit_session_token->asBool());
|
||||||
self::$crt->signing_config_aws_set_signed_body_value(
|
self::$crt->signing_config_aws_set_signed_body_value(
|
||||||
$sc, $options->signed_body_value->asString());
|
$sc, $options->signed_body_value->asString());
|
||||||
self::$crt->signing_config_aws_set_signed_body_header_type(
|
self::$crt->signing_config_aws_set_signed_body_header_type(
|
||||||
$sc, $options->signed_body_header_type->asInt());
|
$sc, $options->signed_body_header_type->asInt());
|
||||||
self::$crt->signing_config_aws_set_expiration_in_seconds(
|
self::$crt->signing_config_aws_set_expiration_in_seconds(
|
||||||
$sc, $options->expiration_in_seconds->asInt());
|
$sc, $options->expiration_in_seconds->asInt());
|
||||||
self::$crt->signing_config_aws_set_date($sc, $options->date->asInt());
|
self::$crt->signing_config_aws_set_date($sc, $options->date->asInt());
|
||||||
if ($should_sign_header = $options->should_sign_header->asCallable()) {
|
if ($should_sign_header = $options->should_sign_header->asCallable()) {
|
||||||
self::$crt->signing_config_aws_set_should_sign_header_fn($sc, $should_sign_header);
|
self::$crt->signing_config_aws_set_should_sign_header_fn($sc, $should_sign_header);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct()
|
function __destruct()
|
||||||
{
|
{
|
||||||
self::$crt->signing_config_aws_release($this->release());
|
self::$crt->signing_config_aws_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __get($name) {
|
public function __get($name) {
|
||||||
return $this->options->get($name);
|
return $this->options->get($name);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,33 +1,33 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource;
|
use AWS\CRT\NativeResource;
|
||||||
use AWS\CRT\HTTP\Request;
|
use AWS\CRT\HTTP\Request;
|
||||||
|
|
||||||
class SigningResult extends NativeResource {
|
class SigningResult extends NativeResource {
|
||||||
protected function __construct($native) {
|
protected function __construct($native) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
$this->acquire($native);
|
$this->acquire($native);
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct() {
|
function __destruct() {
|
||||||
// No destruction necessary, SigningResults are transient, just release
|
// No destruction necessary, SigningResults are transient, just release
|
||||||
$this->release();
|
$this->release();
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function fromNative($ptr) {
|
public static function fromNative($ptr) {
|
||||||
return new SigningResult($ptr);
|
return new SigningResult($ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function applyToHttpRequest(&$http_request) {
|
public function applyToHttpRequest(&$http_request) {
|
||||||
self::$crt->signing_result_apply_to_http_request($this->native, $http_request->native);
|
self::$crt->signing_result_apply_to_http_request($this->native, $http_request->native);
|
||||||
// Update http_request from native
|
// Update http_request from native
|
||||||
$http_request = Request::unmarshall($http_request->toBlob());
|
$http_request = Request::unmarshall($http_request->toBlob());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,35 +1,35 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\Auth;
|
namespace AWS\CRT\Auth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides a static set of AWS credentials
|
* Provides a static set of AWS credentials
|
||||||
*
|
*
|
||||||
* @param array options:
|
* @param array options:
|
||||||
* - string access_key_id - AWS Access Key Id
|
* - string access_key_id - AWS Access Key Id
|
||||||
* - string secret_access_key - AWS Secret Access Key
|
* - string secret_access_key - AWS Secret Access Key
|
||||||
* - string session_token - Optional STS session token
|
* - string session_token - Optional STS session token
|
||||||
*/
|
*/
|
||||||
final class StaticCredentialsProvider extends CredentialsProvider {
|
final class StaticCredentialsProvider extends CredentialsProvider {
|
||||||
|
|
||||||
private $credentials;
|
private $credentials;
|
||||||
|
|
||||||
public function __get($name) {
|
public function __get($name) {
|
||||||
return $this->$name;
|
return $this->$name;
|
||||||
}
|
}
|
||||||
|
|
||||||
function __construct(array $options = []) {
|
function __construct(array $options = []) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->credentials = new AwsCredentials($options);
|
$this->credentials = new AwsCredentials($options);
|
||||||
|
|
||||||
$provider_options = self::$crt->credentials_provider_static_options_new();
|
$provider_options = self::$crt->credentials_provider_static_options_new();
|
||||||
self::$crt->credentials_provider_static_options_set_access_key_id($provider_options, $this->credentials->access_key_id);
|
self::$crt->credentials_provider_static_options_set_access_key_id($provider_options, $this->credentials->access_key_id);
|
||||||
self::$crt->credentials_provider_static_options_set_secret_access_key($provider_options, $this->credentials->secret_access_key);
|
self::$crt->credentials_provider_static_options_set_secret_access_key($provider_options, $this->credentials->secret_access_key);
|
||||||
self::$crt->credentials_provider_static_options_set_session_token($provider_options, $this->credentials->session_token);
|
self::$crt->credentials_provider_static_options_set_session_token($provider_options, $this->credentials->session_token);
|
||||||
$this->acquire(self::$crt->credentials_provider_static_new($provider_options));
|
$this->acquire(self::$crt->credentials_provider_static_new($provider_options));
|
||||||
self::$crt->credentials_provider_static_options_release($provider_options);
|
self::$crt->credentials_provider_static_options_release($provider_options);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
716
vendor/aws/aws-crt-php/src/AWS/CRT/CRT.php
vendored
716
vendor/aws/aws-crt-php/src/AWS/CRT/CRT.php
vendored
|
@ -1,358 +1,358 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT;
|
namespace AWS\CRT;
|
||||||
|
|
||||||
use AWS\CRT\Internal\Extension;
|
use AWS\CRT\Internal\Extension;
|
||||||
|
|
||||||
use \RuntimeException;
|
use \RuntimeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wrapper for the interface to the CRT. There only ever needs to be one of these, but
|
* Wrapper for the interface to the CRT. There only ever needs to be one of these, but
|
||||||
* additional instances won't cost anything other than their memory.
|
* additional instances won't cost anything other than their memory.
|
||||||
* Creating an instance of any NativeResource will activate the CRT binding. User code
|
* Creating an instance of any NativeResource will activate the CRT binding. User code
|
||||||
* should only need to create one of these if they are only accessing CRT:: static functions.
|
* should only need to create one of these if they are only accessing CRT:: static functions.
|
||||||
*/
|
*/
|
||||||
final class CRT {
|
final class CRT {
|
||||||
|
|
||||||
private static $impl = null;
|
private static $impl = null;
|
||||||
private static $refcount = 0;
|
private static $refcount = 0;
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
if (is_null(self::$impl)) {
|
if (is_null(self::$impl)) {
|
||||||
try {
|
try {
|
||||||
self::$impl = new Extension();
|
self::$impl = new Extension();
|
||||||
} catch (RuntimeException $rex) {
|
} catch (RuntimeException $rex) {
|
||||||
throw new RuntimeException("Unable to initialize AWS CRT via awscrt extension: \n$rex", -1);
|
throw new RuntimeException("Unable to initialize AWS CRT via awscrt extension: \n$rex", -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
++self::$refcount;
|
++self::$refcount;
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct() {
|
function __destruct() {
|
||||||
if (--self::$refcount == 0) {
|
if (--self::$refcount == 0) {
|
||||||
self::$impl = null;
|
self::$impl = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool whether or not the CRT is currently loaded
|
* @return bool whether or not the CRT is currently loaded
|
||||||
*/
|
*/
|
||||||
public static function isLoaded() {
|
public static function isLoaded() {
|
||||||
return !is_null(self::$impl);
|
return !is_null(self::$impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool whether or not the CRT is available via one of the possible backends
|
* @return bool whether or not the CRT is available via one of the possible backends
|
||||||
*/
|
*/
|
||||||
public static function isAvailable() {
|
public static function isAvailable() {
|
||||||
try {
|
try {
|
||||||
new CRT();
|
new CRT();
|
||||||
return true;
|
return true;
|
||||||
} catch (RuntimeException $ex) {
|
} catch (RuntimeException $ex) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return integer last error code reported within the CRT
|
* @return integer last error code reported within the CRT
|
||||||
*/
|
*/
|
||||||
public static function last_error() {
|
public static function last_error() {
|
||||||
return self::$impl->aws_crt_last_error();
|
return self::$impl->aws_crt_last_error();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param integer $error Error code from the CRT, usually delivered via callback or {@see last_error}
|
* @param integer $error Error code from the CRT, usually delivered via callback or {@see last_error}
|
||||||
* @return string Human-readable description of the provided error code
|
* @return string Human-readable description of the provided error code
|
||||||
*/
|
*/
|
||||||
public static function error_str($error) {
|
public static function error_str($error) {
|
||||||
return self::$impl->aws_crt_error_str((int) $error);
|
return self::$impl->aws_crt_error_str((int) $error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param integer $error Error code from the CRT, usually delivered via callback or {@see last_error}
|
* @param integer $error Error code from the CRT, usually delivered via callback or {@see last_error}
|
||||||
* @return string Name/enum identifier for the provided error code
|
* @return string Name/enum identifier for the provided error code
|
||||||
*/
|
*/
|
||||||
public static function error_name($error) {
|
public static function error_name($error) {
|
||||||
return self::$impl->aws_crt_error_name((int) $error);
|
return self::$impl->aws_crt_error_name((int) $error);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_to_stdout() {
|
public static function log_to_stdout() {
|
||||||
return self::$impl->aws_crt_log_to_stdout();
|
return self::$impl->aws_crt_log_to_stdout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_to_stderr() {
|
public static function log_to_stderr() {
|
||||||
return self::$impl->aws_crt_log_to_stderr();
|
return self::$impl->aws_crt_log_to_stderr();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_to_file($filename) {
|
public static function log_to_file($filename) {
|
||||||
return self::$impl->aws_crt_log_to_file($filename);
|
return self::$impl->aws_crt_log_to_file($filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_to_stream($stream) {
|
public static function log_to_stream($stream) {
|
||||||
return self::$impl->aws_crt_log_to_stream($stream);
|
return self::$impl->aws_crt_log_to_stream($stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_set_level($level) {
|
public static function log_set_level($level) {
|
||||||
return self::$impl->aws_crt_log_set_level($level);
|
return self::$impl->aws_crt_log_set_level($level);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_stop() {
|
public static function log_stop() {
|
||||||
return self::$impl->aws_crt_log_stop();
|
return self::$impl->aws_crt_log_stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function log_message($level, $message) {
|
public static function log_message($level, $message) {
|
||||||
return self::$impl->aws_crt_log_message($level, $message);
|
return self::$impl->aws_crt_log_message($level, $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return object Pointer to native event_loop_group_options
|
* @return object Pointer to native event_loop_group_options
|
||||||
*/
|
*/
|
||||||
function event_loop_group_options_new() {
|
function event_loop_group_options_new() {
|
||||||
return self::$impl->aws_crt_event_loop_group_options_new();
|
return self::$impl->aws_crt_event_loop_group_options_new();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param object $elg_options Pointer to native event_loop_group_options
|
* @param object $elg_options Pointer to native event_loop_group_options
|
||||||
*/
|
*/
|
||||||
function event_loop_group_options_release($elg_options) {
|
function event_loop_group_options_release($elg_options) {
|
||||||
self::$impl->aws_crt_event_loop_group_options_release($elg_options);
|
self::$impl->aws_crt_event_loop_group_options_release($elg_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param object $elg_options Pointer to native event_loop_group_options
|
* @param object $elg_options Pointer to native event_loop_group_options
|
||||||
* @param integer $max_threads Maximum number of threads to allow the event loop group to use, default: 0/1 per CPU core
|
* @param integer $max_threads Maximum number of threads to allow the event loop group to use, default: 0/1 per CPU core
|
||||||
*/
|
*/
|
||||||
function event_loop_group_options_set_max_threads($elg_options, $max_threads) {
|
function event_loop_group_options_set_max_threads($elg_options, $max_threads) {
|
||||||
self::$impl->aws_crt_event_loop_group_options_set_max_threads($elg_options, (int)$max_threads);
|
self::$impl->aws_crt_event_loop_group_options_set_max_threads($elg_options, (int)$max_threads);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param object Pointer to event_loop_group_options, {@see event_loop_group_options_new}
|
* @param object Pointer to event_loop_group_options, {@see event_loop_group_options_new}
|
||||||
* @return object Pointer to the new event loop group
|
* @return object Pointer to the new event loop group
|
||||||
*/
|
*/
|
||||||
function event_loop_group_new($options) {
|
function event_loop_group_new($options) {
|
||||||
return self::$impl->aws_crt_event_loop_group_new($options);
|
return self::$impl->aws_crt_event_loop_group_new($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param object $elg Pointer to the event loop group to release
|
* @param object $elg Pointer to the event loop group to release
|
||||||
*/
|
*/
|
||||||
function event_loop_group_release($elg) {
|
function event_loop_group_release($elg) {
|
||||||
self::$impl->aws_crt_event_loop_group_release($elg);
|
self::$impl->aws_crt_event_loop_group_release($elg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* return object Pointer to native AWS credentials options
|
* return object Pointer to native AWS credentials options
|
||||||
*/
|
*/
|
||||||
function aws_credentials_options_new() {
|
function aws_credentials_options_new() {
|
||||||
return self::$impl->aws_crt_credentials_options_new();
|
return self::$impl->aws_crt_credentials_options_new();
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_options_release($options) {
|
function aws_credentials_options_release($options) {
|
||||||
self::$impl->aws_crt_credentials_options_release($options);
|
self::$impl->aws_crt_credentials_options_release($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_options_set_access_key_id($options, $access_key_id) {
|
function aws_credentials_options_set_access_key_id($options, $access_key_id) {
|
||||||
self::$impl->aws_crt_credentials_options_set_access_key_id($options, $access_key_id);
|
self::$impl->aws_crt_credentials_options_set_access_key_id($options, $access_key_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_options_set_secret_access_key($options, $secret_access_key) {
|
function aws_credentials_options_set_secret_access_key($options, $secret_access_key) {
|
||||||
self::$impl->aws_crt_credentials_options_set_secret_access_key($options, $secret_access_key);
|
self::$impl->aws_crt_credentials_options_set_secret_access_key($options, $secret_access_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_options_set_session_token($options, $session_token) {
|
function aws_credentials_options_set_session_token($options, $session_token) {
|
||||||
self::$impl->aws_crt_credentials_options_set_session_token($options, $session_token);
|
self::$impl->aws_crt_credentials_options_set_session_token($options, $session_token);
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_options_set_expiration_timepoint_seconds($options, $expiration_timepoint_seconds) {
|
function aws_credentials_options_set_expiration_timepoint_seconds($options, $expiration_timepoint_seconds) {
|
||||||
self::$impl->aws_crt_credentials_options_set_expiration_timepoint_seconds($options, $expiration_timepoint_seconds);
|
self::$impl->aws_crt_credentials_options_set_expiration_timepoint_seconds($options, $expiration_timepoint_seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_new($options) {
|
function aws_credentials_new($options) {
|
||||||
return self::$impl->aws_crt_credentials_new($options);
|
return self::$impl->aws_crt_credentials_new($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function aws_credentials_release($credentials) {
|
function aws_credentials_release($credentials) {
|
||||||
self::$impl->aws_crt_credentials_release($credentials);
|
self::$impl->aws_crt_credentials_release($credentials);
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_release($provider) {
|
function credentials_provider_release($provider) {
|
||||||
self::$impl->aws_crt_credentials_provider_release($provider);
|
self::$impl->aws_crt_credentials_provider_release($provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_static_options_new() {
|
function credentials_provider_static_options_new() {
|
||||||
return self::$impl->aws_crt_credentials_provider_static_options_new();
|
return self::$impl->aws_crt_credentials_provider_static_options_new();
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_static_options_release($options) {
|
function credentials_provider_static_options_release($options) {
|
||||||
self::$impl->aws_crt_credentials_provider_static_options_release($options);
|
self::$impl->aws_crt_credentials_provider_static_options_release($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_static_options_set_access_key_id($options, $access_key_id) {
|
function credentials_provider_static_options_set_access_key_id($options, $access_key_id) {
|
||||||
self::$impl->aws_crt_credentials_provider_static_options_set_access_key_id($options, $access_key_id);
|
self::$impl->aws_crt_credentials_provider_static_options_set_access_key_id($options, $access_key_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_static_options_set_secret_access_key($options, $secret_access_key) {
|
function credentials_provider_static_options_set_secret_access_key($options, $secret_access_key) {
|
||||||
self::$impl->aws_crt_credentials_provider_static_options_set_secret_access_key($options, $secret_access_key);
|
self::$impl->aws_crt_credentials_provider_static_options_set_secret_access_key($options, $secret_access_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_static_options_set_session_token($options, $session_token) {
|
function credentials_provider_static_options_set_session_token($options, $session_token) {
|
||||||
self::$impl->aws_crt_credentials_provider_static_options_set_session_token($options, $session_token);
|
self::$impl->aws_crt_credentials_provider_static_options_set_session_token($options, $session_token);
|
||||||
}
|
}
|
||||||
|
|
||||||
function credentials_provider_static_new($options) {
|
function credentials_provider_static_new($options) {
|
||||||
return self::$impl->aws_crt_credentials_provider_static_new($options);
|
return self::$impl->aws_crt_credentials_provider_static_new($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_options_new() {
|
function input_stream_options_new() {
|
||||||
return self::$impl->aws_crt_input_stream_options_new();
|
return self::$impl->aws_crt_input_stream_options_new();
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_options_release($options) {
|
function input_stream_options_release($options) {
|
||||||
self::$impl->aws_crt_input_stream_options_release($options);
|
self::$impl->aws_crt_input_stream_options_release($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_options_set_user_data($options, $user_data) {
|
function input_stream_options_set_user_data($options, $user_data) {
|
||||||
self::$impl->aws_crt_input_stream_options_set_user_data($options, $user_data);
|
self::$impl->aws_crt_input_stream_options_set_user_data($options, $user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_new($options) {
|
function input_stream_new($options) {
|
||||||
return self::$impl->aws_crt_input_stream_new($options);
|
return self::$impl->aws_crt_input_stream_new($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_release($stream) {
|
function input_stream_release($stream) {
|
||||||
self::$impl->aws_crt_input_stream_release($stream);
|
self::$impl->aws_crt_input_stream_release($stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_seek($stream, $offset, $basis) {
|
function input_stream_seek($stream, $offset, $basis) {
|
||||||
return self::$impl->aws_crt_input_stream_seek($stream, $offset, $basis);
|
return self::$impl->aws_crt_input_stream_seek($stream, $offset, $basis);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_read($stream, $length) {
|
function input_stream_read($stream, $length) {
|
||||||
return self::$impl->aws_crt_input_stream_read($stream, $length);
|
return self::$impl->aws_crt_input_stream_read($stream, $length);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_eof($stream) {
|
function input_stream_eof($stream) {
|
||||||
return self::$impl->aws_crt_input_stream_eof($stream);
|
return self::$impl->aws_crt_input_stream_eof($stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
function input_stream_get_length($stream) {
|
function input_stream_get_length($stream) {
|
||||||
return self::$impl->aws_crt_input_stream_get_length($stream);
|
return self::$impl->aws_crt_input_stream_get_length($stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
function http_message_new_from_blob($blob) {
|
function http_message_new_from_blob($blob) {
|
||||||
return self::$impl->aws_crt_http_message_new_from_blob($blob);
|
return self::$impl->aws_crt_http_message_new_from_blob($blob);
|
||||||
}
|
}
|
||||||
|
|
||||||
function http_message_to_blob($message) {
|
function http_message_to_blob($message) {
|
||||||
return self::$impl->aws_crt_http_message_to_blob($message);
|
return self::$impl->aws_crt_http_message_to_blob($message);
|
||||||
}
|
}
|
||||||
|
|
||||||
function http_message_release($message) {
|
function http_message_release($message) {
|
||||||
self::$impl->aws_crt_http_message_release($message);
|
self::$impl->aws_crt_http_message_release($message);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_new() {
|
function signing_config_aws_new() {
|
||||||
return self::$impl->aws_crt_signing_config_aws_new();
|
return self::$impl->aws_crt_signing_config_aws_new();
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_release($signing_config) {
|
function signing_config_aws_release($signing_config) {
|
||||||
return self::$impl->aws_crt_signing_config_aws_release($signing_config);
|
return self::$impl->aws_crt_signing_config_aws_release($signing_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_algorithm($signing_config, $algorithm) {
|
function signing_config_aws_set_algorithm($signing_config, $algorithm) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_algorithm($signing_config, (int)$algorithm);
|
self::$impl->aws_crt_signing_config_aws_set_algorithm($signing_config, (int)$algorithm);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_signature_type($signing_config, $signature_type) {
|
function signing_config_aws_set_signature_type($signing_config, $signature_type) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_signature_type($signing_config, (int)$signature_type);
|
self::$impl->aws_crt_signing_config_aws_set_signature_type($signing_config, (int)$signature_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_credentials_provider($signing_config, $credentials_provider) {
|
function signing_config_aws_set_credentials_provider($signing_config, $credentials_provider) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_credentials_provider($signing_config, $credentials_provider);
|
self::$impl->aws_crt_signing_config_aws_set_credentials_provider($signing_config, $credentials_provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_region($signing_config, $region) {
|
function signing_config_aws_set_region($signing_config, $region) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_region($signing_config, $region);
|
self::$impl->aws_crt_signing_config_aws_set_region($signing_config, $region);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_service($signing_config, $service) {
|
function signing_config_aws_set_service($signing_config, $service) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_service($signing_config, $service);
|
self::$impl->aws_crt_signing_config_aws_set_service($signing_config, $service);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_use_double_uri_encode($signing_config, $use_double_uri_encode) {
|
function signing_config_aws_set_use_double_uri_encode($signing_config, $use_double_uri_encode) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_use_double_uri_encode($signing_config, $use_double_uri_encode);
|
self::$impl->aws_crt_signing_config_aws_set_use_double_uri_encode($signing_config, $use_double_uri_encode);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_should_normalize_uri_path($signing_config, $should_normalize_uri_path) {
|
function signing_config_aws_set_should_normalize_uri_path($signing_config, $should_normalize_uri_path) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_should_normalize_uri_path($signing_config, $should_normalize_uri_path);
|
self::$impl->aws_crt_signing_config_aws_set_should_normalize_uri_path($signing_config, $should_normalize_uri_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_omit_session_token($signing_config, $omit_session_token) {
|
function signing_config_aws_set_omit_session_token($signing_config, $omit_session_token) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_omit_session_token($signing_config, $omit_session_token);
|
self::$impl->aws_crt_signing_config_aws_set_omit_session_token($signing_config, $omit_session_token);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_signed_body_value($signing_config, $signed_body_value) {
|
function signing_config_aws_set_signed_body_value($signing_config, $signed_body_value) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_signed_body_value($signing_config, $signed_body_value);
|
self::$impl->aws_crt_signing_config_aws_set_signed_body_value($signing_config, $signed_body_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_signed_body_header_type($signing_config, $signed_body_header_type) {
|
function signing_config_aws_set_signed_body_header_type($signing_config, $signed_body_header_type) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_signed_body_header_type($signing_config, $signed_body_header_type);
|
self::$impl->aws_crt_signing_config_aws_set_signed_body_header_type($signing_config, $signed_body_header_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_expiration_in_seconds($signing_config, $expiration_in_seconds) {
|
function signing_config_aws_set_expiration_in_seconds($signing_config, $expiration_in_seconds) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_expiration_in_seconds($signing_config, $expiration_in_seconds);
|
self::$impl->aws_crt_signing_config_aws_set_expiration_in_seconds($signing_config, $expiration_in_seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_date($signing_config, $timestamp) {
|
function signing_config_aws_set_date($signing_config, $timestamp) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_date($signing_config, $timestamp);
|
self::$impl->aws_crt_signing_config_aws_set_date($signing_config, $timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_config_aws_set_should_sign_header_fn($signing_config, $should_sign_header_fn) {
|
function signing_config_aws_set_should_sign_header_fn($signing_config, $should_sign_header_fn) {
|
||||||
self::$impl->aws_crt_signing_config_aws_set_should_sign_header_fn($signing_config, $should_sign_header_fn);
|
self::$impl->aws_crt_signing_config_aws_set_should_sign_header_fn($signing_config, $should_sign_header_fn);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signable_new_from_http_request($http_message) {
|
function signable_new_from_http_request($http_message) {
|
||||||
return self::$impl->aws_crt_signable_new_from_http_request($http_message);
|
return self::$impl->aws_crt_signable_new_from_http_request($http_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signable_new_from_chunk($chunk_stream, $previous_signature) {
|
function signable_new_from_chunk($chunk_stream, $previous_signature) {
|
||||||
return self::$impl->aws_crt_signable_new_from_chunk($chunk_stream, $previous_signature);
|
return self::$impl->aws_crt_signable_new_from_chunk($chunk_stream, $previous_signature);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signable_new_from_canonical_request($canonical_request) {
|
function signable_new_from_canonical_request($canonical_request) {
|
||||||
return self::$impl->aws_crt_signable_new_from_canonical_request($canonical_request);
|
return self::$impl->aws_crt_signable_new_from_canonical_request($canonical_request);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signable_release($signable) {
|
function signable_release($signable) {
|
||||||
self::$impl->aws_crt_signable_release($signable);
|
self::$impl->aws_crt_signable_release($signable);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_result_release($signing_result) {
|
function signing_result_release($signing_result) {
|
||||||
self::$impl->aws_crt_signing_result_release($signing_result);
|
self::$impl->aws_crt_signing_result_release($signing_result);
|
||||||
}
|
}
|
||||||
|
|
||||||
function signing_result_apply_to_http_request($signing_result, $http_message) {
|
function signing_result_apply_to_http_request($signing_result, $http_message) {
|
||||||
return self::$impl->aws_crt_signing_result_apply_to_http_request(
|
return self::$impl->aws_crt_signing_result_apply_to_http_request(
|
||||||
$signing_result, $http_message);
|
$signing_result, $http_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
function sign_request_aws($signable, $signing_config, $on_complete, $user_data) {
|
function sign_request_aws($signable, $signing_config, $on_complete, $user_data) {
|
||||||
return self::$impl->aws_crt_sign_request_aws($signable, $signing_config, $on_complete, $user_data);
|
return self::$impl->aws_crt_sign_request_aws($signable, $signing_config, $on_complete, $user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_verify_sigv4a_signing($signable, $signing_config, $expected_canonical_request, $signature, $ecc_key_pub_x, $ecc_key_pub_y) {
|
function test_verify_sigv4a_signing($signable, $signing_config, $expected_canonical_request, $signature, $ecc_key_pub_x, $ecc_key_pub_y) {
|
||||||
return self::$impl->aws_crt_test_verify_sigv4a_signing($signable, $signing_config, $expected_canonical_request, $signature, $ecc_key_pub_x, $ecc_key_pub_y);
|
return self::$impl->aws_crt_test_verify_sigv4a_signing($signable, $signing_config, $expected_canonical_request, $signature, $ecc_key_pub_x, $ecc_key_pub_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function crc32($input, $previous = 0) {
|
public static function crc32($input, $previous = 0) {
|
||||||
return self::$impl->aws_crt_crc32($input, $previous);
|
return self::$impl->aws_crt_crc32($input, $previous);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function crc32c($input, $previous = 0) {
|
public static function crc32c($input, $previous = 0) {
|
||||||
return self::$impl->aws_crt_crc32c($input, $previous);
|
return self::$impl->aws_crt_crc32c($input, $previous);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
100
vendor/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php
vendored
100
vendor/aws/aws-crt-php/src/AWS/CRT/HTTP/Headers.php
vendored
|
@ -1,50 +1,50 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\HTTP;
|
namespace AWS\CRT\HTTP;
|
||||||
|
|
||||||
use AWS\CRT\Internal\Encoding;
|
use AWS\CRT\Internal\Encoding;
|
||||||
|
|
||||||
final class Headers {
|
final class Headers {
|
||||||
private $headers;
|
private $headers;
|
||||||
|
|
||||||
public function __construct($headers = []) {
|
public function __construct($headers = []) {
|
||||||
$this->headers = $headers;
|
$this->headers = $headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function marshall($headers) {
|
public static function marshall($headers) {
|
||||||
$buf = "";
|
$buf = "";
|
||||||
foreach ($headers->headers as $header => $value) {
|
foreach ($headers->headers as $header => $value) {
|
||||||
$buf .= Encoding::encodeString($header);
|
$buf .= Encoding::encodeString($header);
|
||||||
$buf .= Encoding::encodeString($value);
|
$buf .= Encoding::encodeString($value);
|
||||||
}
|
}
|
||||||
return $buf;
|
return $buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function unmarshall($buf) {
|
public static function unmarshall($buf) {
|
||||||
$strings = Encoding::readStrings($buf);
|
$strings = Encoding::readStrings($buf);
|
||||||
$headers = [];
|
$headers = [];
|
||||||
for ($idx = 0; $idx < count($strings);) {
|
for ($idx = 0; $idx < count($strings);) {
|
||||||
$headers[$strings[$idx++]] = $strings[$idx++];
|
$headers[$strings[$idx++]] = $strings[$idx++];
|
||||||
}
|
}
|
||||||
return new Headers($headers);
|
return new Headers($headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function count() {
|
public function count() {
|
||||||
return count($this->headers);
|
return count($this->headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get($header) {
|
public function get($header) {
|
||||||
return isset($this->headers[$header]) ? $this->headers[$header] : null;
|
return isset($this->headers[$header]) ? $this->headers[$header] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set($header, $value) {
|
public function set($header, $value) {
|
||||||
$this->headers[$header] = $value;
|
$this->headers[$header] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toArray() {
|
public function toArray() {
|
||||||
return $this->headers;
|
return $this->headers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
190
vendor/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php
vendored
190
vendor/aws/aws-crt-php/src/AWS/CRT/HTTP/Message.php
vendored
|
@ -1,95 +1,95 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\HTTP;
|
namespace AWS\CRT\HTTP;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource;
|
use AWS\CRT\NativeResource;
|
||||||
use AWS\CRT\Internal\Encoding;
|
use AWS\CRT\Internal\Encoding;
|
||||||
|
|
||||||
abstract class Message extends NativeResource {
|
abstract class Message extends NativeResource {
|
||||||
private $method;
|
private $method;
|
||||||
private $path;
|
private $path;
|
||||||
private $query;
|
private $query;
|
||||||
private $headers;
|
private $headers;
|
||||||
|
|
||||||
public function __construct($method, $path, $query = [], $headers = []) {
|
public function __construct($method, $path, $query = [], $headers = []) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->method = $method;
|
$this->method = $method;
|
||||||
$this->path = $path;
|
$this->path = $path;
|
||||||
$this->query = $query;
|
$this->query = $query;
|
||||||
$this->headers = new Headers($headers);
|
$this->headers = new Headers($headers);
|
||||||
$this->acquire(self::$crt->http_message_new_from_blob(self::marshall($this)));
|
$this->acquire(self::$crt->http_message_new_from_blob(self::marshall($this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __destruct() {
|
public function __destruct() {
|
||||||
self::$crt->http_message_release($this->release());
|
self::$crt->http_message_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toBlob() {
|
public function toBlob() {
|
||||||
return self::$crt->http_message_to_blob($this->native);
|
return self::$crt->http_message_to_blob($this->native);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function marshall($msg) {
|
protected static function marshall($msg) {
|
||||||
$buf = "";
|
$buf = "";
|
||||||
$buf .= Encoding::encodeString($msg->method);
|
$buf .= Encoding::encodeString($msg->method);
|
||||||
$buf .= Encoding::encodeString($msg->pathAndQuery());
|
$buf .= Encoding::encodeString($msg->pathAndQuery());
|
||||||
$buf .= Headers::marshall($msg->headers);
|
$buf .= Headers::marshall($msg->headers);
|
||||||
return $buf;
|
return $buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function _unmarshall($buf, $class=Message::class) {
|
protected static function _unmarshall($buf, $class=Message::class) {
|
||||||
$method = Encoding::readString($buf);
|
$method = Encoding::readString($buf);
|
||||||
$path_and_query = Encoding::readString($buf);
|
$path_and_query = Encoding::readString($buf);
|
||||||
$parts = explode("?", $path_and_query, 2);
|
$parts = explode("?", $path_and_query, 2);
|
||||||
$path = isset($parts[0]) ? $parts[0] : "";
|
$path = isset($parts[0]) ? $parts[0] : "";
|
||||||
$query = isset($parts[1]) ? $parts[1] : "";
|
$query = isset($parts[1]) ? $parts[1] : "";
|
||||||
$headers = Headers::unmarshall($buf);
|
$headers = Headers::unmarshall($buf);
|
||||||
|
|
||||||
// Turn query params back into a dictionary
|
// Turn query params back into a dictionary
|
||||||
if (strlen($query)) {
|
if (strlen($query)) {
|
||||||
$query = rawurldecode($query);
|
$query = rawurldecode($query);
|
||||||
$query = explode("&", $query);
|
$query = explode("&", $query);
|
||||||
$query = array_reduce($query, function($params, $pair) {
|
$query = array_reduce($query, function($params, $pair) {
|
||||||
list($param, $value) = explode("=", $pair, 2);
|
list($param, $value) = explode("=", $pair, 2);
|
||||||
$params[$param] = $value;
|
$params[$param] = $value;
|
||||||
return $params;
|
return $params;
|
||||||
}, []);
|
}, []);
|
||||||
} else {
|
} else {
|
||||||
$query = [];
|
$query = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
return new $class($method, $path, $query, $headers->toArray());
|
return new $class($method, $path, $query, $headers->toArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function pathAndQuery() {
|
public function pathAndQuery() {
|
||||||
$path = $this->path;
|
$path = $this->path;
|
||||||
$queries = [];
|
$queries = [];
|
||||||
foreach ($this->query as $param => $value) {
|
foreach ($this->query as $param => $value) {
|
||||||
$queries []= urlencode($param) . "=" . urlencode($value);
|
$queries []= urlencode($param) . "=" . urlencode($value);
|
||||||
}
|
}
|
||||||
$query = implode("&", $queries);
|
$query = implode("&", $queries);
|
||||||
if (strlen($query)) {
|
if (strlen($query)) {
|
||||||
$path = implode("?", [$path, $query]);
|
$path = implode("?", [$path, $query]);
|
||||||
}
|
}
|
||||||
return $path;
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function method() {
|
public function method() {
|
||||||
return $this->method;
|
return $this->method;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function path() {
|
public function path() {
|
||||||
return $this->path;
|
return $this->path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function query() {
|
public function query() {
|
||||||
return $this->query;
|
return $this->query;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function headers() {
|
public function headers() {
|
||||||
return $this->headers;
|
return $this->headers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\HTTP;
|
namespace AWS\CRT\HTTP;
|
||||||
|
|
||||||
use AWS\CRT\IO\InputStream;
|
use AWS\CRT\IO\InputStream;
|
||||||
|
|
||||||
class Request extends Message {
|
class Request extends Message {
|
||||||
private $body_stream = null;
|
private $body_stream = null;
|
||||||
|
|
||||||
public function __construct($method, $path, $query = [], $headers = [], $body_stream = null) {
|
public function __construct($method, $path, $query = [], $headers = [], $body_stream = null) {
|
||||||
parent::__construct($method, $path, $query, $headers);
|
parent::__construct($method, $path, $query, $headers);
|
||||||
if (!is_null($body_stream) && !($body_stream instanceof InputStream)) {
|
if (!is_null($body_stream) && !($body_stream instanceof InputStream)) {
|
||||||
throw InvalidArgumentException('body_stream must be an instance of ' . InputStream::class);
|
throw InvalidArgumentException('body_stream must be an instance of ' . InputStream::class);
|
||||||
}
|
}
|
||||||
$this->body_stream = $body_stream;
|
$this->body_stream = $body_stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function marshall($request) {
|
public static function marshall($request) {
|
||||||
return parent::marshall($request);
|
return parent::marshall($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function unmarshall($buf) {
|
public static function unmarshall($buf) {
|
||||||
return parent::_unmarshall($buf, Request::class);
|
return parent::_unmarshall($buf, Request::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function body_stream() {
|
public function body_stream() {
|
||||||
return $this->body_stream;
|
return $this->body_stream;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\HTTP;
|
namespace AWS\CRT\HTTP;
|
||||||
|
|
||||||
class Response extends Message {
|
class Response extends Message {
|
||||||
private $status_code;
|
private $status_code;
|
||||||
|
|
||||||
public function __construct($method, $path, $query, $headers, $status_code) {
|
public function __construct($method, $path, $query, $headers, $status_code) {
|
||||||
parent::__construct($method, $path, $query, $headers);
|
parent::__construct($method, $path, $query, $headers);
|
||||||
$this->status_code = $status_code;
|
$this->status_code = $status_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function marshall($response) {
|
public static function marshall($response) {
|
||||||
return parent::marshall($response);
|
return parent::marshall($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function unmarshall($buf) {
|
public static function unmarshall($buf) {
|
||||||
return parent::_unmarshall($buf, Response::class);
|
return parent::_unmarshall($buf, Response::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function status_code() {
|
public function status_code() {
|
||||||
return $this->status_code;
|
return $this->status_code;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +1,39 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\IO;
|
namespace AWS\CRT\IO;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource as NativeResource;
|
use AWS\CRT\NativeResource as NativeResource;
|
||||||
use AWS\CRT\Options as Options;
|
use AWS\CRT\Options as Options;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents 1 or more event loops (1 per thread) for doing I/O and background tasks.
|
* Represents 1 or more event loops (1 per thread) for doing I/O and background tasks.
|
||||||
* Typically, every application has one EventLoopGroup.
|
* Typically, every application has one EventLoopGroup.
|
||||||
*
|
*
|
||||||
* @param array options:
|
* @param array options:
|
||||||
* - int num_threads - Number of worker threads in the EventLoopGroup. Defaults to 0/1 per logical core.
|
* - int num_threads - Number of worker threads in the EventLoopGroup. Defaults to 0/1 per logical core.
|
||||||
*/
|
*/
|
||||||
final class EventLoopGroup extends NativeResource {
|
final class EventLoopGroup extends NativeResource {
|
||||||
|
|
||||||
static function defaults() {
|
static function defaults() {
|
||||||
return [
|
return [
|
||||||
'max_threads' => 0,
|
'max_threads' => 0,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
function __construct(array $options = []) {
|
function __construct(array $options = []) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$options = new Options($options, self::defaults());
|
$options = new Options($options, self::defaults());
|
||||||
$elg_options = self::$crt->event_loop_group_options_new();
|
$elg_options = self::$crt->event_loop_group_options_new();
|
||||||
self::$crt->event_loop_group_options_set_max_threads($elg_options, $options->getInt('max_threads'));
|
self::$crt->event_loop_group_options_set_max_threads($elg_options, $options->getInt('max_threads'));
|
||||||
$this->acquire(self::$crt->event_loop_group_new($elg_options));
|
$this->acquire(self::$crt->event_loop_group_new($elg_options));
|
||||||
self::$crt->event_loop_group_options_release($elg_options);
|
self::$crt->event_loop_group_options_release($elg_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
function __destruct() {
|
function __destruct() {
|
||||||
self::$crt->event_loop_group_release($this->release());
|
self::$crt->event_loop_group_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,49 +1,49 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* SPDX-License-Identifier: Apache-2.0.
|
* SPDX-License-Identifier: Apache-2.0.
|
||||||
*/
|
*/
|
||||||
namespace AWS\CRT\IO;
|
namespace AWS\CRT\IO;
|
||||||
|
|
||||||
use AWS\CRT\NativeResource as NativeResource;
|
use AWS\CRT\NativeResource as NativeResource;
|
||||||
|
|
||||||
final class InputStream extends NativeResource {
|
final class InputStream extends NativeResource {
|
||||||
private $stream = null;
|
private $stream = null;
|
||||||
|
|
||||||
const SEEK_BEGIN = 0;
|
const SEEK_BEGIN = 0;
|
||||||
const SEEK_END = 2;
|
const SEEK_END = 2;
|
||||||
|
|
||||||
public function __construct($stream) {
|
public function __construct($stream) {
|
||||||
$this->stream = $stream;
|
$this->stream = $stream;
|
||||||
$options = self::$crt->input_stream_options_new();
|
$options = self::$crt->input_stream_options_new();
|
||||||
// The stream implementation in native just converts the PHP stream into
|
// The stream implementation in native just converts the PHP stream into
|
||||||
// a native php_stream* and executes operations entirely in native
|
// a native php_stream* and executes operations entirely in native
|
||||||
self::$crt->input_stream_options_set_user_data($options, $stream);
|
self::$crt->input_stream_options_set_user_data($options, $stream);
|
||||||
$this->acquire(self::$crt->input_stream_new($options));
|
$this->acquire(self::$crt->input_stream_new($options));
|
||||||
self::$crt->input_stream_options_release($options);
|
self::$crt->input_stream_options_release($options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __destruct() {
|
public function __destruct() {
|
||||||
self::$crt->input_stream_release($this->release());
|
self::$crt->input_stream_release($this->release());
|
||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function eof() {
|
public function eof() {
|
||||||
return self::$crt->input_stream_eof($this->native);
|
return self::$crt->input_stream_eof($this->native);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function length() {
|
public function length() {
|
||||||
return self::$crt->input_stream_get_length($this->native);
|
return self::$crt->input_stream_get_length($this->native);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function read($length = 0) {
|
public function read($length = 0) {
|
||||||
if ($length == 0) {
|
if ($length == 0) {
|
||||||
$length = $this->length();
|
$length = $this->length();
|
||||||
}
|
}
|
||||||
return self::$crt->input_stream_read($this->native, $length);
|
return self::$crt->input_stream_read($this->native, $length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function seek($offset, $basis) {
|
public function seek($offset, $basis) {
|
||||||
return self::$crt->input_stream_seek($this->native, $offset, $basis);
|
return self::$crt->input_stream_seek($this->native, $offset, $basis);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue