@@ -37,7 +37,7 @@ public function __construct(
37
37
}
38
38
39
39
/**
40
- * Signs a URI and returns a SignedUri object .
40
+ * Signs a URI.
41
41
*
42
42
* The given URI is signed by adding the query string parameter
43
43
* which value depends on the URI and the secret.
@@ -50,8 +50,18 @@ public function __construct(
50
50
*
51
51
* The expiration is added as a query string parameter.
52
52
*/
53
- public function signAndWrap (string $ uri , \DateTimeInterface |\DateInterval |int |null $ expiration = null ): SignedUri
53
+ public function sign (string $ uri/* , \DateTimeInterface|\DateInterval|int|null $expiration = null */ ): string
54
54
{
55
+ $ expiration = null ;
56
+
57
+ if (1 < \func_num_args ()) {
58
+ $ expiration = func_get_arg (1 );
59
+ }
60
+
61
+ if (null !== $ expiration && !$ expiration instanceof \DateTimeInterface && !$ expiration instanceof \DateInterval && !\is_int ($ expiration )) {
62
+ throw new \TypeError (\sprintf ('The second argument of "%s()" must be an instance of "%s" or "%s", an integer or null (%s given). ' , __METHOD__ , \DateTimeInterface::class, \DateInterval::class, get_debug_type ($ expiration )));
63
+ }
64
+
55
65
$ url = parse_url ($ uri );
56
66
$ params = [];
57
67
@@ -68,42 +78,13 @@ public function signAndWrap(string $uri, \DateTimeInterface|\DateInterval|int|nu
68
78
}
69
79
70
80
if (null !== $ expiration ) {
71
- $ params [$ this ->expirationParameter ] = $ expiration = $ this ->getExpirationTime ($ expiration );
81
+ $ params [$ this ->expirationParameter ] = $ this ->getExpirationTime ($ expiration );
72
82
}
73
83
74
84
$ uri = $ this ->buildUrl ($ url , $ params );
75
85
$ params [$ this ->hashParameter ] = $ this ->computeHash ($ uri );
76
86
77
- return new SignedUri ($ this ->buildUrl ($ url , $ params ), $ expiration );
78
- }
79
-
80
- /**
81
- * Signs a URI.
82
- *
83
- * The given URI is signed by adding the query string parameter
84
- * which value depends on the URI and the secret.
85
- *
86
- * @param \DateTimeInterface|\DateInterval|int|null $expiration The expiration for the given URI.
87
- * If $expiration is a \DateTimeInterface, it's expected to be the exact date + time.
88
- * If $expiration is a \DateInterval, the interval is added to "now" to get the date + time.
89
- * If $expiration is an int, it's expected to be a timestamp in seconds of the exact date + time.
90
- * If $expiration is null, no expiration.
91
- *
92
- * The expiration is added as a query string parameter.
93
- */
94
- public function sign (string $ uri/* , \DateTimeInterface|\DateInterval|int|null $expiration = null */ ): string
95
- {
96
- $ expiration = null ;
97
-
98
- if (1 < \func_num_args ()) {
99
- $ expiration = func_get_arg (1 );
100
- }
101
-
102
- if (null !== $ expiration && !$ expiration instanceof \DateTimeInterface && !$ expiration instanceof \DateInterval && !\is_int ($ expiration )) {
103
- throw new \TypeError (\sprintf ('The second argument of "%s()" must be an instance of "%s" or "%s", an integer or null (%s given). ' , __METHOD__ , \DateTimeInterface::class, \DateInterval::class, get_debug_type ($ expiration )));
104
- }
105
-
106
- return (string ) $ this ->signAndWrap ($ uri , $ expiration );
87
+ return $ this ->buildUrl ($ url , $ params );
107
88
}
108
89
109
90
/**
@@ -133,14 +114,14 @@ public function checkRequest(Request $request): bool
133
114
}
134
115
135
116
/**
136
- * Verify a Request/string URI and return a SignedUri object .
117
+ * Verify a Request or string URI .
137
118
*
138
119
* @throws UnSignedUriException If the URI is not signed
139
120
* @throws UnverifiedSignedUriException If the signature is invalid
140
121
* @throws ExpiredSignedUriException If the URI has expired
141
122
* @throws SignedUriException
142
123
*/
143
- public function verify (Request |string $ uri ): SignedUri
124
+ public function verify (Request |string $ uri ): void
144
125
{
145
126
if ($ uri instanceof Request) {
146
127
$ qs = ($ qs = $ uri ->server ->get ('QUERY_STRING ' )) ? '? ' .$ qs : '' ;
@@ -167,11 +148,11 @@ public function verify(Request|string $uri): SignedUri
167
148
}
168
149
169
150
if (!$ expiration = $ params [$ this ->expirationParameter ] ?? false ) {
170
- return new SignedUri ( $ uri ) ;
151
+ return ;
171
152
}
172
153
173
154
if (time () < $ expiration ) {
174
- return new SignedUri ( $ uri , $ expiration ) ;
155
+ return ;
175
156
}
176
157
177
158
throw new ExpiredSignedUriException (
0 commit comments