package error

import "github.com/opencontainers/runtime-tools/error"

Package error implements generic tooling for tracking RFC 2119 violations and linking back to the appropriate specification section.

Index

Types

type Error

type Error struct {
	// Level represents the RFC 2119 compliance level.
	Level Level

	// Reference is a URL for the violated specification requirement.
	Reference string

	// Err holds additional details about the violation.
	Err error
}

Error represents an error with compliance level and specification reference.

func (*Error) Error

func (err *Error) Error() string

Error returns the error message with specification reference.

type Level

type Level int

Level represents the RFC 2119 compliance levels

const (

	// May represents 'MAY' in RFC 2119.
	May Level = iota
	// Optional represents 'OPTIONAL' in RFC 2119.
	Optional

	// Should represents 'SHOULD' in RFC 2119.
	Should
	// ShouldNot represents 'SHOULD NOT' in RFC 2119.
	ShouldNot
	// Recommended represents 'RECOMMENDED' in RFC 2119.
	Recommended
	// NotRecommended represents 'NOT RECOMMENDED' in RFC 2119.
	NotRecommended

	// Must represents 'MUST' in RFC 2119
	Must
	// MustNot represents 'MUST NOT' in RFC 2119.
	MustNot
	// Shall represents 'SHALL' in RFC 2119.
	Shall
	// ShallNot represents 'SHALL NOT' in RFC 2119.
	ShallNot
	// Required represents 'REQUIRED' in RFC 2119.
	Required
)

func ParseLevel

func ParseLevel(level string) (Level, error)

ParseLevel takes a string level and returns the RFC 2119 compliance level constant.

func (Level) String

func (level Level) String() string

String takes a RFC 2119 compliance level constant and returns a string representation.

Source Files

error.go

Version
v0.9.0 (latest)
Published
Mar 6, 2019
Platform
linux/amd64
Imports
2 packages
Last checked
1 month ago

Tools for package owners.