summaryrefslogtreecommitdiff
path: root/inc/mailgun/php-http/message-factory/src
diff options
context:
space:
mode:
Diffstat (limited to 'inc/mailgun/php-http/message-factory/src')
-rw-r--r--inc/mailgun/php-http/message-factory/src/MessageFactory.php12
-rw-r--r--inc/mailgun/php-http/message-factory/src/RequestFactory.php34
-rw-r--r--inc/mailgun/php-http/message-factory/src/ResponseFactory.php35
-rw-r--r--inc/mailgun/php-http/message-factory/src/StreamFactory.php25
-rw-r--r--inc/mailgun/php-http/message-factory/src/UriFactory.php24
5 files changed, 130 insertions, 0 deletions
diff --git a/inc/mailgun/php-http/message-factory/src/MessageFactory.php b/inc/mailgun/php-http/message-factory/src/MessageFactory.php
new file mode 100644
index 0000000..965aaa8
--- /dev/null
+++ b/inc/mailgun/php-http/message-factory/src/MessageFactory.php
@@ -0,0 +1,12 @@
+<?php
+
+namespace Http\Message;
+
+/**
+ * Factory for PSR-7 Request and Response.
+ *
+ * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
+ */
+interface MessageFactory extends RequestFactory, ResponseFactory
+{
+}
diff --git a/inc/mailgun/php-http/message-factory/src/RequestFactory.php b/inc/mailgun/php-http/message-factory/src/RequestFactory.php
new file mode 100644
index 0000000..624e82f
--- /dev/null
+++ b/inc/mailgun/php-http/message-factory/src/RequestFactory.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Http\Message;
+
+use Psr\Http\Message\UriInterface;
+use Psr\Http\Message\RequestInterface;
+use Psr\Http\Message\StreamInterface;
+
+/**
+ * Factory for PSR-7 Request.
+ *
+ * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
+ */
+interface RequestFactory
+{
+ /**
+ * Creates a new PSR-7 request.
+ *
+ * @param string $method
+ * @param string|UriInterface $uri
+ * @param array $headers
+ * @param resource|string|StreamInterface|null $body
+ * @param string $protocolVersion
+ *
+ * @return RequestInterface
+ */
+ public function createRequest(
+ $method,
+ $uri,
+ array $headers = [],
+ $body = null,
+ $protocolVersion = '1.1'
+ );
+}
diff --git a/inc/mailgun/php-http/message-factory/src/ResponseFactory.php b/inc/mailgun/php-http/message-factory/src/ResponseFactory.php
new file mode 100644
index 0000000..2411ed3
--- /dev/null
+++ b/inc/mailgun/php-http/message-factory/src/ResponseFactory.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Http\Message;
+
+use Psr\Http\Message\ResponseInterface;
+use Psr\Http\Message\StreamInterface;
+
+/**
+ * Factory for PSR-7 Response.
+ *
+ * This factory contract can be reused in Message and Server Message factories.
+ *
+ * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
+ */
+interface ResponseFactory
+{
+ /**
+ * Creates a new PSR-7 response.
+ *
+ * @param int $statusCode
+ * @param string|null $reasonPhrase
+ * @param array $headers
+ * @param resource|string|StreamInterface|null $body
+ * @param string $protocolVersion
+ *
+ * @return ResponseInterface
+ */
+ public function createResponse(
+ $statusCode = 200,
+ $reasonPhrase = null,
+ array $headers = [],
+ $body = null,
+ $protocolVersion = '1.1'
+ );
+}
diff --git a/inc/mailgun/php-http/message-factory/src/StreamFactory.php b/inc/mailgun/php-http/message-factory/src/StreamFactory.php
new file mode 100644
index 0000000..327a902
--- /dev/null
+++ b/inc/mailgun/php-http/message-factory/src/StreamFactory.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Http\Message;
+
+use Psr\Http\Message\StreamInterface;
+
+/**
+ * Factory for PSR-7 Stream.
+ *
+ * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
+ */
+interface StreamFactory
+{
+ /**
+ * Creates a new PSR-7 stream.
+ *
+ * @param string|resource|StreamInterface|null $body
+ *
+ * @return StreamInterface
+ *
+ * @throws \InvalidArgumentException If the stream body is invalid.
+ * @throws \RuntimeException If creating the stream from $body fails.
+ */
+ public function createStream($body = null);
+}
diff --git a/inc/mailgun/php-http/message-factory/src/UriFactory.php b/inc/mailgun/php-http/message-factory/src/UriFactory.php
new file mode 100644
index 0000000..f05e625
--- /dev/null
+++ b/inc/mailgun/php-http/message-factory/src/UriFactory.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Http\Message;
+
+use Psr\Http\Message\UriInterface;
+
+/**
+ * Factory for PSR-7 URI.
+ *
+ * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
+ */
+interface UriFactory
+{
+ /**
+ * Creates an PSR-7 URI.
+ *
+ * @param string|UriInterface $uri
+ *
+ * @return UriInterface
+ *
+ * @throws \InvalidArgumentException If the $uri argument can not be converted into a valid URI.
+ */
+ public function createUri($uri);
+}