|
PhpStorm
|
PhpStorm
|
NULL
|
JavaAxIgnore
|
|
public function isUnauthorizedException(\Exception public function isUnauthorizedException(\Exception $e): bool
{
// Check for specific HubSpot API exception types first
if ($e instanceof BadRequest) {
// BadRequest can contain 401 status codes
return $e->getCode() === 401;
}
// Check for HTTP client exceptions with status codes
if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {
$response = $e->getResponse();
if ($response !== null) {
return $response->getStatusCode() === 401;
}
}
// Check for Guzzle HTTP exceptions
if ($e instanceof \GuzzleHttp\Exception\ClientException) {
return $e->getCode() === 401;
}
// Fallback to string matching as last resort, but be more specific
$message = strtolower($e->getMessage());
return str_contains($message, '401 unauthorized') ||
str_contains($message, 'http 401') |......
|
NULL
|
NULL
|
NULL
|
|
public function isUnauthorizedException(\Exception public function isUnauthorizedException(\Exception $e): bool
{
// Check for specific HubSpot API exception types first
if ($e instanceof BadRequest) {
// BadRequest can contain 401 status codes
return $e->getCode() === 401;
}
// Check for HTTP client exceptions with status codes
if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {
$response = $e->getResponse();
if ($response !== null) {
return $response->getStatusCode() === 401;
}
}
// Check for Guzzle HTTP exceptions
if ($e instanceof \GuzzleHttp\Exception\ClientException) {
return $e->getCode() === 401;
}
// Fallback to string matching as last resort, but be more specific
$message = strtolower($e->getMessage());
return str_contains($message, '401 unauthorized') ||
str_contains($message, 'http 401') |......
|
NULL
|
NULL
|
NULL
|
|
return $this->requestCount > 0 && $t return $this->requestCount > 0 && $this->requestCount % PaginationConfig::PAGINATION_LOG_FREQUENCY === 0;...
|
NULL
|
NULL
|
NULL
|
|
return $this->requestCount > 0 && $t return $this->requestCount > 0 && $this->requestCount % PaginationConfig::PAGINATION_LOG_FREQUENCY === 0;...
|
NULL
|
NULL
|
NULL
|
|
return $this->requestCount > 0 && $t return $this->requestCount > 0 && $this->requestCount % PaginationConfig::PAGINATION_LOG_FREQUENCY === 0;...
|
NULL
|
NULL
|
NULL
|
|
warning
|
NULL
|
NULL
|
NULL
|
|
warning
|
NULL
|
NULL
|
NULL
|
|
warning
|
NULL
|
NULL
|
NULL
|
|
HubSpot
|
NULL
|
NULL
|
NULL
|
|
HubSpot
|
NULL
|
NULL
|
NULL
|
|
retry_after
|
NULL
|
NULL
|
NULL
|
|
retry_after
|
NULL
|
NULL
|
NULL
|
|
retry_after
|
NULL
|
NULL
|
NULL
|
|
Slack
|
Slack
|
NULL
|
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for Client.php
|
|
Slack
|
Slack
|
NULL
|
|
|
Firefox
|
Firefox
|
NULL
|
1H
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for Client.php
|
|
HandleHubspotRateLimit ⚠️ release() never consumes HandleHubspotRateLimit ⚠️ release() never consumes $tries — no circuit-breaker for persistent rate limits
MatchActivityCrmData ⚠️ ShouldBeUnique lock held during rate-limit delay window...
|
NULL
|
NULL
|
NULL
|
|
HandleHubspotRateLimit ⚠️ release() never consumes HandleHubspotRateLimit ⚠️ release() never consumes $tries — no circuit-breaker for persistent rate limits
MatchActivityCrmData ⚠️ ShouldBeUnique lock held during rate-limit delay window...
|
NULL
|
NULL
|
NULL
|
|
Slack
|
Slack
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
JavaAxIgnore
|
|
Slack
|
Slack
|
NULL
|
NULL
|
|
Firefox
|
Firefox
|
NULL
|
|
|
Slack
|
Slack
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for HandleHubspotRateLimit.php
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for MatchActivityCrmData.php
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for MatchActivityCrmData.php
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for JiminnyDebugCommand.php
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for CrmActivityService.php
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
JavaAxIgnore
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
JavaAxIgnore
|
|
Firefox
|
Firefox
|
NULL
|
|
|
PhpStorm
|
PhpStorm
|
NULL
|
Editor for MatchActivityCrmData.php
|
|
CachedCrmServiceDecorator
|
NULL
|
NULL
|
NULL
|
|
public function matchExactlyByEmail(string $email, public function matchExactlyByEmail(string $email, ?int $userId = null): ?array
{
if (! filter_var($email, FILTER_VALIDATE_EMAIL)) {
$this->logger->warning('[Prospect match] Invalid email address', [
'identifier_type' => ProspectCache::PROSPECT_TYPE_EMAIL,
'identifier' => $email,
]);
// The email address of the prospect is invalid.
// Return null, so we can try to match by phone or name.
return null;
}
return $this->matchByProspectIdentifier(
identifierType: ProspectCache::PROSPECT_TYPE_EMAIL,
identifierValue: $email,
userId: $userId
);
}...
|
NULL
|
NULL
|
NULL
|
|
Firefox
|
Firefox
|
NULL
|
|
|
Slack
|
Slack
|
NULL
|
|
|
Firefox
|
Firefox
|
NULL
|
|
|
Role: You are a Technical Lead. Your task is to pr Role: You are a Technical Lead. Your task is to provide a clear, high-level summary of the provided code diff or PR selection.
Instructions:
Summarize the core objective: Explain what the code is doing and why (if apparent from the context) using precise and concise language.
Highlight key changes: Break down the structural or logical changes made in the code.
Formatting: Use headers and bulleted lists to make the summary highly scannable for a developer. Avoid long paragraphs.
Accuracy: Maintain the exact meaning and factual accuracy of the provided code without hallucinating outside context....
|
NULL
|
NULL
|
NULL
|
|
Role: You are a Technical Lead. Your task is to pr Role: You are a Technical Lead. Your task is to provide a clear, high-level summary of the provided code diff or PR selection.
Instructions:
Summarize the core objective: Explain what the code is doing and why (if apparent from the context) using precise and concise language.
Highlight key changes: Break down the structural or logical changes made in the code.
Formatting: Use headers and bulleted lists to make the summary highly scannable for a developer. Avoid long paragraphs.
Accuracy: Maintain the exact meaning and factual accuracy of the provided code without hallucinating outside context....
|
NULL
|
NULL
|
NULL
|
|
Role: You are a Technical Lead. Your task is to pr Role: You are a Technical Lead. Your task is to provide a clear, high-level summary of the provided code diff or PR selection.
Instructions:
Summarize the core objective: Explain what the code is doing and why (if apparent from the context) using precise and concise language.
Highlight key changes: Break down the structural or logical changes made in the code.
Formatting: Use headers and bulleted lists to make the summary highly scannable for a developer. Avoid long paragraphs.
Accuracy: Maintain the exact meaning and factual accuracy of the provided code without hallucinating outside context....
|
NULL
|
NULL
|
NULL
|