1<?php
2namespace GuzzleHttp\Handler;
3
4use Psr\Http\Message\RequestInterface;
5
6interface CurlFactoryInterface
7{
8    /**
9     * Creates a cURL handle resource.
10     *
11     * @param RequestInterface $request Request
12     * @param array            $options Transfer options
13     *
14     * @return EasyHandle
15     * @throws \RuntimeException when an option cannot be applied
16     */
17    public function create(RequestInterface $request, array $options);
18
19    /**
20     * Release an easy handle, allowing it to be reused or closed.
21     *
22     * This function must call unset on the easy handle's "handle" property.
23     *
24     * @param EasyHandle $easy
25     */
26    public function release(EasyHandle $easy);
27}
28