Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2/**
3 * Pop PHP Framework (http://www.popphp.org/)
4 *
5 * @link       https://github.com/popphp/popphp-framework
6 * @author     Nick Sagona, III <dev@nolainteractive.com>
7 * @copyright  Copyright (c) 2009-2024 NOLA Interactive, LLC. (http://www.nolainteractive.com)
8 * @license    http://www.popphp.org/license     New BSD License
9 */
10
11/**
12 * @namespace
13 */
14namespace Pop\Storage\Adapter\Azure;
15
16use Pop\Http\Client\Request;
17
18/**
19 * Azure storage auth interface
20 *
21 * @category   Pop
22 * @package    Pop\Storage
23 * @author     Nick Sagona, III <dev@nolainteractive.com>
24 * @copyright  Copyright (c) 2009-2024 NOLA Interactive, LLC. (http://www.nolainteractive.com)
25 * @license    http://www.popphp.org/license     New BSD License
26 * @version    2.0.0
27 */
28interface AuthInterface
29{
30
31    /**
32     * Set account name
33     *
34     * @param  string $accountName
35     * @return AuthInterface
36     */
37    public function setAccountName(string $accountName): AuthInterface;
38
39    /**
40     * Get account name
41     *
42     * @return ?string
43     */
44    public function getAccountName(): ?string;
45
46    /**
47     * Has account name
48     *
49     * @return bool
50     */
51    public function hasAccountName(): bool;
52
53    /**
54     * Set account key
55     *
56     * @param  string $accountKey
57     * @return AuthInterface
58     */
59    public function setAccountKey(string $accountKey): AuthInterface;
60
61    /**
62     * Get account key
63     *
64     * @return ?string
65     */
66    public function getAccountKey(): ?string;
67
68    /**
69     * Has account key
70     *
71     * @return bool
72     */
73    public function hasAccountKey(): bool;
74
75    /**
76     * Get account key
77     *
78     * @return string
79     */
80    public function getBaseUri(): string;
81
82    /**
83     * Returns authorization header to be included in the request.
84     *
85     * @param  array  $headers
86     * @param  string $url
87     * @param  array  $queryParams
88     * @param  string $httpMethod
89     * @return string
90     */
91    public function getAuthorizationHeader(array $headers, string $url, array $queryParams, string $httpMethod): string;
92
93    /**
94     * Adds authentication header to the request headers.
95     *
96     * @param  Request $request
97     * @return Request
98     */
99    public function signRequest(Request $request): Request;
100
101}