mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 13:37:30 +00:00
<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #38536 - Moved PostJSONWithTimeout to platform/http - Created platform/errors package with only types needed by ctxerr. This way, ctxerr did not need to import fleethttp. - Made activity bounded context use PostJSONWithTimeout directly - Removed some activity types from legacy code that were no longer needed # Checklist for submitter - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. - Changes file `38536-new-activity-bc` already present, and this is just cleanup from that work. ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Refactor** * Reorganized error handling utilities for improved clarity and decoupling. * Consolidated HTTP utilities to centralize JSON posting functionality with timeout support. * Simplified activity service initialization by removing unused internal parameters. * Cleaned up test utilities and removed webhook-related test scaffolding. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
41 lines
1 KiB
Go
41 lines
1 KiB
Go
// Package errors provides error classification primitives used across the
|
|
// codebase. These are intentionally kept free of HTTP or other transport
|
|
// dependencies so that low-level packages (datastores, context helpers) can
|
|
// use them without pulling in higher-level concerns.
|
|
package errors
|
|
|
|
import "errors"
|
|
|
|
// Cause returns the root error in err's chain.
|
|
func Cause(err error) error {
|
|
for {
|
|
uerr := errors.Unwrap(err)
|
|
if uerr == nil {
|
|
return err
|
|
}
|
|
err = uerr
|
|
}
|
|
}
|
|
|
|
// ErrWithIsClientError is an interface for errors that explicitly specify
|
|
// whether they are client errors or not. By default, errors are treated as
|
|
// server errors.
|
|
type ErrWithIsClientError interface {
|
|
error
|
|
IsClientError() bool
|
|
}
|
|
|
|
// NotFoundError is an interface for errors when a resource cannot be found.
|
|
type NotFoundError interface {
|
|
error
|
|
IsNotFound() bool
|
|
}
|
|
|
|
// IsNotFound returns true if err is a not-found error.
|
|
func IsNotFound(err error) bool {
|
|
var nfe NotFoundError
|
|
if errors.As(err, &nfe) {
|
|
return nfe.IsNotFound()
|
|
}
|
|
return false
|
|
}
|