Hpack.Error

hpack-0.38.0: A modern format for Haskell packages

Safe Haskell | Safe-Inferred
Language | Haskell2010

Hpack.Error

Synopsis

- data HpackError
  - = HpackVersionNotSupported FilePath Version Version
  - | DefaultsFileNotFound FilePath
  - | DefaultsDownloadFailed URL Status
  - | CycleInDefaults [FilePath]
  - | ParseError String
  - | DecodeValueError FilePath String
- formatHpackError :: ProgramName -> HpackError -> String
- newtype ProgramName = ProgramName {
  - unProgramName :: String
  }
- type URL = String
- data Status = Status {
  - statusCode :: Int
  - statusMessage :: ByteString
  }
- formatStatus :: Status -> String

# Documentation

NOTE: This module is exposed to allow integration of Hpack into other tools. It is not meant for general use by end users. The following caveats apply:

- The API is undocumented, consult the source instead.
- The exposed types and functions primarily serve Hpack's own needs, not that of a public API. Breaking changes can happen as Hpack evolves.

As an Hpack user you either want to use the `hpack` executable or a build tool that supports Hpack (e.g. `stack` or `cabal2nix`).

data HpackError #

Constructors

HpackVersionNotSupported FilePath Version Version |
DefaultsFileNotFound FilePath |
DefaultsDownloadFailed URL Status |
CycleInDefaults [FilePath] |
ParseError String |
DecodeValueError FilePath String |

#### Instances

Instances details

Show HpackError # |
Instance details Defined in Hpack.Error Methods showsPrec :: Int -> HpackError -> ShowS # show :: HpackError -> String # showList :: [HpackError] -> ShowS #
Eq HpackError # |
Instance details Defined in Hpack.Error Methods (==) :: HpackError -> HpackError -> Bool # (/=) :: HpackError -> HpackError -> Bool #

formatHpackError :: ProgramName -> HpackError -> String #

newtype ProgramName #

Constructors

ProgramName |
Fields unProgramName :: String

#### Instances

Instances details

IsString ProgramName # |
Instance details Defined in Hpack.Error Methods fromString :: String -> ProgramName #
Show ProgramName # |
Instance details Defined in Hpack.Error Methods showsPrec :: Int -> ProgramName -> ShowS # show :: ProgramName -> String # showList :: [ProgramName] -> ShowS #
Eq ProgramName # |
Instance details Defined in Hpack.Error Methods (==) :: ProgramName -> ProgramName -> Bool # (/=) :: ProgramName -> ProgramName -> Bool #

type URL = String #

data Status #

HTTP Status.

Only the `statusCode` is used for comparisons.

Please use `mkStatus` to create status codes from code and message, or the `Enum` instance or the status code constants (like `ok200`). There might be additional record members in the future.

Note that the `Show` instance is only for debugging.

Constructors

Status |
Fields statusCode :: Int statusMessage :: ByteString

#### Instances

Instances details

Data Status | Since: http-types-0.12.4
Instance details Defined in Network.HTTP.Types.Status Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Status -> c Status # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Status # toConstr :: Status -> Constr # dataTypeOf :: Status -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Status) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Status) # gmapT :: (forall b. Data b => b -> b) -> Status -> Status # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r # gmapQ :: (forall d. Data d => d -> u) -> Status -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Status -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Status -> m Status # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status #
Bounded Status | Since: http-types-0.11
Instance details Defined in Network.HTTP.Types.Status Methods minBound :: Status # maxBound :: Status #
Enum Status | Be advised, that when using the "enumFrom*" family of methods or ranges in lists, it will generate all possible status codes. E.g. `[status100 .. status200]` generates `Status`es of `100, 101, 102 .. 198, 199, 200` The statuses not included in this library will have an empty message. Since: http-types-0.7.3
Instance details Defined in Network.HTTP.Types.Status Methods succ :: Status -> Status # pred :: Status -> Status # toEnum :: Int -> Status # fromEnum :: Status -> Int # enumFrom :: Status -> [Status] # enumFromThen :: Status -> Status -> [Status] # enumFromTo :: Status -> Status -> [Status] # enumFromThenTo :: Status -> Status -> Status -> [Status] #
Generic Status |
Instance details Defined in Network.HTTP.Types.Status Associated Types
type Rep Status | Since: http-types-0.12.4
Instance details Defined in Network.HTTP.Types.Status type Rep Status = D1 ('MetaData "Status" "Network.HTTP.Types.Status" "http-types-0.12.4-HhEPaOzd8crnbrvqiOppv" 'False) (C1 ('MetaCons "Status" 'PrefixI 'True) (S1 ('MetaSel ('Just "statusCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "statusMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Methods from :: Status -> Rep Status x # to :: Rep Status x -> Status #
Show Status |
Instance details Defined in Network.HTTP.Types.Status Methods showsPrec :: Int -> Status -> ShowS # show :: Status -> String # showList :: [Status] -> ShowS #
Eq Status | A `Status` is equal to another `Status` if the status codes are equal.
Instance details Defined in Network.HTTP.Types.Status Methods (==) :: Status -> Status -> Bool # (/=) :: Status -> Status -> Bool #
Ord Status | `Status`es are ordered according to their status codes only.
Instance details Defined in Network.HTTP.Types.Status Methods compare :: Status -> Status -> Ordering # (<) :: Status -> Status -> Bool # (<=) :: Status -> Status -> Bool # (>) :: Status -> Status -> Bool # (>=) :: Status -> Status -> Bool # max :: Status -> Status -> Status # min :: Status -> Status -> Status #
type Rep Status | Since: http-types-0.12.4
Instance details Defined in Network.HTTP.Types.Status type Rep Status = D1 ('MetaData "Status" "Network.HTTP.Types.Status" "http-types-0.12.4-HhEPaOzd8crnbrvqiOppv" 'False) (C1 ('MetaCons "Status" 'PrefixI 'True) (S1 ('MetaSel ('Just "statusCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "statusMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

formatStatus :: Status -> String #