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")

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

    // 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")
)

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 FromHTTPStatus Uses

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

FromHTTPStatus generates an error according to the HTTP semantics 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 ToHTTPStatus Uses

func ToHTTPStatus(err error) int

ToHTTPStatus returns an HTTP status code corresponding to err.

func ToReprocessStatus Uses

func ToReprocessStatus(status int) int

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

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 36 packages. Updated 2020-07-15. Refresh now. Tools for package owners.