protected function getSafebrowsingResult(string $url)
    {
        // Prepare the Safebrowsing API URL and
        // populate the API key for the request
        $safebrowsingUrl = sprintf('https://safebrowsing.googleapis.com/v4/threatMatches:find?key=%s', $this->apiKey);

        // Prepare the payload that will be sent
        // to Google Safebrowsing API as JSON
        $safebrowsingPayload = [
            'client' => [
                'clientId' => 'Ampersa/SafeBrowsing',
                'clientVersion' => '0.1',
            ],
            'threatInfo' => [
                'threatTypes' => [
                    'MALWARE',
                    'SOCIAL_ENGINEERING',
                    'UNWANTED_SOFTWARE',
                    'POTENTIALLY_HARMFUL_APPLICATION',
                ],
                'platformTypes' => [
                    'ANY_PLATFORM'
                ],
                'threatEntryTypes' => [
                    'URL',
                ],
                'threatEntries' => [
                    [
                        'url' => $url
                    ],
                ],
            ]
        ];

        // Prepare the request and get the response
        try {
            $response = (new HttpClient)->post($safebrowsingUrl, [
                'json' => $safebrowsingPayload
            ]);
        } catch (Exception $e) {
            return new StdClass;
        }

        // Retrieve and decode the result from the response
        $result = json_decode((string) $response->getBody());

        return $result;
    }