@@ -81,15 +81,8 @@ public function forSha256Async(Sha256 $sha256, ?ForSha256Options $options = null
8181 return async (function () use ($ sha256 , $ options , $ cancellation ) {
8282 $ this ->logger ->debug ("Requesting verdict for SHA256: $ sha256 " );
8383
84- if ($ options === null ) {
85- $ options = new ForSha256Options (
86- [
87- 'vaasRequestId ' => null ,
88- 'useHashLookup ' => $ this ->options ->useHashLookup ?? true ,
89- 'useCache ' => $ this ->options ->useCache ?? true ,
90- ]
91- );
92- }
84+ $ options = $ options ?? ForSha256Options::fromVaasOptions ($ this ->options );
85+
9386 $ url = sprintf ('%s/files/%s/report/?useCache=%s&useHashLookup=%s ' ,
9487 $ this ->options ->vaasUrl ,
9588 $ sha256 ,
@@ -146,22 +139,11 @@ public function forFileAsync(string $path, ?ForFileOptions $options = null, ?Can
146139 throw new VaasClientException ('File does not exist ' );
147140 }
148141
149- if ($ options === null ) {
150- $ options = new ForFileOptions (
151- [
152- 'vaasRequestId ' => null ,
153- 'useHashLookup ' => $ this ->options ->useHashLookup ?? true ,
154- 'useCache ' => $ this ->options ->useCache ?? true ,
155- ]
156- );
157- }
142+ $ options = $ options ?? ForFileOptions::fromVaasOptions ($ this ->options );
158143
159144 if ($ options ->useCache || $ options ->useHashLookup ) {
160- $ forSha256Options = new ForSha256Options ([
161- 'vaasRequestId ' => $ options ->vaasRequestId ,
162- 'useHashLookup ' => $ options ->useHashLookup ,
163- 'useCache ' => $ options ->useCache ,
164- ]);
145+ $ forSha256Options = new ForSha256Options (
146+ $ options ->useCache , $ options ->useHashLookup , $ options ->vaasRequestId );
165147 $ sha256 = Sha256::TryFromFile ($ path );
166148 $ this ->logger ->debug ("Check if file $ path is already known by its SHA256: $ sha256 " );
167149 $ response = $ this ->forSha256Async ($ sha256 , $ forSha256Options , $ cancellation )->await ();
@@ -174,10 +156,7 @@ public function forFileAsync(string $path, ?ForFileOptions $options = null, ?Can
174156
175157 $ stream = openFile ($ path , 'r ' );
176158
177- $ forStreamOptions = new ForStreamOptions ([
178- 'vaasRequestId ' => $ options ->vaasRequestId ,
179- 'useHashLookup ' => $ options ->useHashLookup ,
180- ]);
159+ $ forStreamOptions = new ForStreamOptions ($ options ->useHashLookup , 300 , $ options ->vaasRequestId );
181160
182161 $ this ->logger ->debug ("Requesting verdict for $ path as file stream " );
183162 return $ this ->forStreamAsync ($ stream , filesize ($ path ), $ forStreamOptions )->await ();
@@ -203,15 +182,8 @@ public function forStreamAsync(ReadableStream $stream, int $fileSize, ?ForStream
203182 throw new VaasClientException ('Stream is not readable ' );
204183 }
205184
206- if ($ options === null ) {
207- $ options = new ForStreamOptions (
208- [
209- 'vaasRequestId ' => null ,
210- 'timeout ' => $ this ->options ->timeout ,
211- 'useHashLookup ' => $ this ->options ->useHashLookup ?? true ,
212- ]
213- );
214- }
185+ $ options = $ options ?? ForStreamOptions::fromVaasOptions ($ this ->options );
186+
215187 $ url = sprintf ('%s/files?useHashLookup=%s ' , $ this ->options ->vaasUrl , json_encode ($ options ->useHashLookup ));
216188
217189 $ request = new Request ($ url , 'POST ' );
@@ -243,10 +215,7 @@ public function forStreamAsync(ReadableStream $stream, int $fileSize, ?ForStream
243215 throw $ this ->parseVaasError ($ response );
244216 }
245217
246- $ forSha256Options = new ForSha256Options ([
247- 'vaasRequestId ' => $ options ->vaasRequestId ,
248- 'useHashLookup ' => $ options ->useHashLookup ,
249- ]);
218+ $ forSha256Options = new ForSha256Options (true , $ options ->useHashLookup , $ options ->vaasRequestId );
250219
251220 if (!isset ($ fileAnalysisStarted ['sha256 ' ])) {
252221 $ this ->logger ->error ("Unexpected response from the server for stream " );
@@ -272,14 +241,8 @@ public function forUrlAsync(string $uri, ?ForUrlOptions $options = null, ?Cancel
272241 $ this ->logger ->debug ("Requesting verdict for URL: $ uri " );
273242 $ uri = Vaas::validUri ($ uri );
274243
275- if ($ options === null ) {
276- $ options = new ForUrlOptions (
277- [
278- 'vaasRequestId ' => null ,
279- 'useHashLookup ' => $ this ->options ->useHashLookup ?? true ,
280- ]
281- );
282- }
244+ $ options = $ options ?? ForUrlOptions::fromVaasOptions ($ this ->options );
245+
283246 $ urlAnalysisUri = sprintf ('%s/urls ' , $ this ->options ->vaasUrl );
284247
285248 $ urlAnalysisRequest = new Request ($ urlAnalysisUri , 'POST ' );
0 commit comments