summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-crt-php/ext/http.c
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/aws/aws-crt-php/ext/http.c')
-rw-r--r--vendor/aws/aws-crt-php/ext/http.c36
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);
+}