pkgsite: golang.org/x/pkgsite/internal/derrors Index | Files

package derrors

import "golang.org/x/pkgsite/internal/derrors"

Package derrors defines internal error values to categorize the different types error semantics we support.

Index

Package Files

derrors.go

Variables

var (
    // HasIncompletePackages indicates a module containing packages that
    // were processed with a 60x error code.
    HasIncompletePackages = errors.New("has incomplete packages")

    // NotFound indicates that a requested entity was not found (HTTP 404).
    NotFound = errors.New("not found")
    // InvalidArgument indicates that the input into the request is invalid in
    // some way (HTTP 400).
    InvalidArgument = errors.New("invalid argument")
    // BadModule indicates a problem with a module.
    BadModule = errors.New("bad module")
    // Excluded indicates that the module is excluded. (See internal/postgres/excluded.go.)
    Excluded = errors.New("excluded")

    // AlternativeModule indicates that the path of the module zip file differs
    // from the path specified in the go.mod file.
    AlternativeModule = errors.New("alternative module")

    // ModuleTooLarge indicates that the module is too large for us to process.
    // This should be temporary: we should obtain sufficient resources to process
    // any module, up to the max size allowed by the proxy.
    ModuleTooLarge = errors.New("module too large")

    // Unknown indicates that the error has unknown semantics.
    Unknown = errors.New("unknown")

    // ProxyTimedOut indicates that a request timed out when fetching from the Module Mirror.
    ProxyTimedOut = errors.New("proxy timed out")

    // PackageBuildContextNotSupported indicates that the build context for the
    // package is not supported.
    PackageBuildContextNotSupported = errors.New("package build context not supported")
    // PackageMaxImportsLimitExceeded indicates that the package has too many
    // imports.
    PackageMaxImportsLimitExceeded = errors.New("package max imports limit exceeded")
    // PackageMaxFileSizeLimitExceeded indicates that the package contains a file
    // that exceeds fetch.MaxFileSize.
    PackageMaxFileSizeLimitExceeded = errors.New("package max file size limit exceeded")
    // PackageDocumentationHTMLTooLarge indicates that the rendered documentation
    // HTML size exceeded the specified limit for dochtml.RenderOptions.
    PackageDocumentationHTMLTooLarge = errors.New("package documentation HTML is too large")
    // PackageBadImportPath represents an error loading a package because its
    // contents do not make up a valid package. This can happen, for
    // example, if the .go files fail to parse or declare different package
    // names.
    // Go files were found in a directory, but the resulting import path is invalid.
    PackageBadImportPath = errors.New("package bad import path")
    // PackageInvalidContents represents an error loading a package because
    // its contents do not make up a valid package. This can happen, for
    // example, if the .go files fail to parse or declare different package
    // names.
    PackageInvalidContents = errors.New("package invalid contents")

    // DBModuleInsertInvalid represents a module that was successfully
    // fetched but could not be inserted due to invalid arguments to
    // postgres.InsertModule.
    DBModuleInsertInvalid = errors.New("db module insert invalid")

    // ReprocessStatusOK indicates that the module to be reprocessed
    // previously had a status of http.StatusOK.
    ReprocessStatusOK = errors.New("reprocess status ok")
    // ReprocessHasIncompletePackages indicates that the module to be reprocessed
    // previously had a status of 290.
    ReprocessHasIncompletePackages = errors.New("reprocess has incomplete packages")
    // ReprocessBadModule indicates that the module to be reprocessed
    // previously had a status of derrors.BadModule.
    ReprocessBadModule = errors.New("reprocess bad module")
    // ReprocessAlternativeModule indicates that the module to be reprocessed
    // previously had a status of derrors.AlternativeModule.
    ReprocessAlternative = errors.New("reprocess alternative module")
    // ReprocessDBModuleInsertInvalid represents a module to be reprocessed
    // that was successfully fetched but could not be inserted due to invalid
    // arguments to postgres.InsertModule.
    ReprocessDBModuleInsertInvalid = errors.New("reprocess db module insert invalid")
)

func Add Uses

func Add(errp *error, format string, args ...interface{})

Add adds context to the error. The result cannot be unwrapped to recover the original error. It does nothing when *errp == nil.

Example:

defer derrors.Add(&err, "copy(%s, %s)", src, dst)

See Wrap for an equivalent function that allows the result to be unwrapped.

func FromStatus Uses

func FromStatus(code int, format string, args ...interface{}) error

FromStatus generates an error according for the given status code. It uses the given format string and arguments to create the error string according to the fmt package. If format is the empty string, then the error corresponding to the code is returned unwrapped.

If code is http.StatusOK, it returns nil.

func ToReprocessStatus Uses

func ToReprocessStatus(status int) int

ToReprocessStatus returns the reprocess status code corresponding to the provided status.

func ToStatus Uses

func ToStatus(err error) int

ToStatus returns a status code corresponding to err.

func Wrap Uses

func Wrap(errp *error, format string, args ...interface{})

Wrap adds context to the error and allows unwrapping the result to recover the original error.

Example:

defer derrors.Wrap(&err, "copy(%s, %s)", src, dst)

See Add for an equivalent function that does not allow the result to be unwrapped.

Package derrors imports 3 packages (graph) and is imported by 40 packages. Updated 2020-09-18. Refresh now. Tools for package owners.