tvl-depot/users/Profpatsch/whatcd-resolver/whatcd-resolver.cabal
Profpatsch eeb5e7abd6 feat(users/Profpatsch/whatcd-resolver): trace http requests
Move the http calls into their own module, so we can trace the request
and provide a simple copy-to-replay command.

We have to work around a bug in the otel library, which would limit
our attribute value length to 128 bytes because it uses the wrong
option value.

~~~

`ifExists` is finally made more useful for dealing with optional
attributes in e.g. lists.

Change-Id: Iafab523e9ec4b00136db43f31fdc12aeefb7f77c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11241
Tested-by: BuildkiteCI
Autosubmit: Profpatsch <mail@profpatsch.de>
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-03-23 19:51:59 +00:00

125 lines
2.8 KiB
Text

cabal-version: 3.0
name: whatcd-resolver
version: 0.1.0.0
author: Profpatsch
maintainer: mail@profpatsch.de
common common-options
ghc-options:
-Wall
-Wno-type-defaults
-Wunused-packages
-Wredundant-constraints
-fwarn-missing-deriving-strategies
-- See https://downloads.haskell.org/ghc/latest/docs/users_guide/exts.html
-- for a description of all these extensions
default-extensions:
-- Infer Applicative instead of Monad where possible
ApplicativeDo
-- Allow literal strings to be Text
OverloadedStrings
-- Syntactic sugar improvements
LambdaCase
MultiWayIf
-- Makes the (deprecated) usage of * instead of Data.Kind.Type an error
NoStarIsType
-- Convenient and crucial to deal with ambiguous field names, commonly
-- known as RecordDotSyntax
OverloadedRecordDot
-- does not export record fields as functions, use OverloadedRecordDot to access instead
NoFieldSelectors
-- Allow the same record field name to be declared twice per module.
-- This works, because we use `OverloadedRecordDot` everywhere (enforced by `NoFieldSelectors`).
DuplicateRecordFields
-- Record punning
RecordWildCards
-- Improved Deriving
DerivingStrategies
DerivingVia
-- Type-level strings
DataKinds
-- to enable the `type` keyword in import lists (ormolu uses this automatically)
ExplicitNamespaces
-- allows defining pattern synonyms, but also the `import Foo (pattern FooPattern)` import syntax
PatternSynonyms
default-language: GHC2021
library
import: common-options
hs-source-dirs: src
exposed-modules:
WhatcdResolver
AppT
JsonLd
Optional
Http
Html
Transmission
Redacted
build-depends:
base >=4.15 && <5,
text,
my-prelude,
my-webstuff,
pa-prelude,
pa-error-tree,
pa-label,
pa-json,
pa-field-parser,
pa-run-command,
aeson-better-errors,
aeson,
blaze-html,
blaze-markup,
bytestring,
case-insensitive,
containers,
unordered-containers,
directory,
dlist,
exceptions,
filepath,
hs-opentelemetry-sdk,
hs-opentelemetry-api,
http-conduit,
http-types,
http-client,
ihp-hsx,
monad-logger,
mtl,
network-uri,
resource-pool,
postgresql-simple,
punycode,
scientific,
selective,
tmp-postgres,
unliftio,
wai-extra,
wai,
warp,
executable whatcd-resolver
import: common-options
main-is: Main.hs
build-depends:
base >=4.15 && <5,
whatcd-resolver