diff options
Diffstat (limited to 'vendor/aws/aws-crt-php/ext/http.c')
-rw-r--r-- | vendor/aws/aws-crt-php/ext/http.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/aws/aws-crt-php/ext/http.c b/vendor/aws/aws-crt-php/ext/http.c new file mode 100644 index 0000000..3f429ae --- /dev/null +++ b/vendor/aws/aws-crt-php/ext/http.c @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include "php_aws_crt.h" + +PHP_FUNCTION(aws_crt_http_message_new_from_blob) { + const char *blob = NULL; + size_t blob_len = 0; + + aws_php_parse_parameters("s", &blob, &blob_len); + + aws_crt_http_message *message = aws_crt_http_message_new_from_blob((uint8_t *)blob, blob_len); + RETURN_LONG((zend_ulong)message); +} + +PHP_FUNCTION(aws_crt_http_message_to_blob) { + zend_ulong php_msg = 0; + + aws_php_parse_parameters("l", &php_msg); + + aws_crt_http_message *message = (void *)php_msg; + aws_crt_buf blob; + aws_crt_http_message_to_blob(message, &blob); + XRETURN_STRINGL((const char *)blob.blob, blob.length); +} + +PHP_FUNCTION(aws_crt_http_message_release) { + zend_ulong php_msg = 0; + + aws_php_parse_parameters("l", &php_msg); + + aws_crt_http_message *message = (void *)php_msg; + aws_crt_http_message_release(message); +} |