Mulighet for å legge til request-interceptors i API-kall#246
Conversation
- Add IRequestInterceptor interface with OnBeforeRequestAsync / OnAfterResponseAsync - Add RequestInterceptorBase convenience base class (override only what you need) - Add InterceptorHandler (DelegatingHandler) that runs interceptors FIFO pre-request, LIFO post-response - Wire InterceptorHandler into DigipostClient.GetHttpClient pipeline - Add ClientConfig.RequestInterceptors property for consumer registration - Add Digipost.Api.Client.Interceptors.Tests project with 7 passing xUnit tests: - Pre-request interceptor is called - Post-response interceptor is called - Multiple interceptors run FIFO (pre) and LIFO (post) - Interceptors can modify request headers - Interceptors can inspect response status - Base class with only OnBeforeRequestAsync overridden - Base class with only OnAfterResponseAsync overridden - Bump all test projects from net9.0 to net10.0 (stable runtime on this machine) - Update xunit/test SDK packages for net10.0 compatibility Co-authored-by: Claude <noreply@anthropic.com>
|
Jeg syns det er en interessant tanke dette her. I DigipostClient har vi constructorer som tar inn ILoggerFactory for å sette opp en request handler for logging. Kan hende vi kunne bygget dette om til å basere seg på en slik interceptor arkitektur. Så syns jeg ikke at Claude er så god på å lage tester. Den er veldig glad i lage tester som er utrolig tett knyttet til dens egen implementasjon. Disse kan du bare kaste imho. For å teste finnes det Smoke-tester. Disse kan du bruke mot din test-virksomhet i testmiljøet til Digipost om du har fått opprettet deg det. |
|
Hei @eivinhb , takk for tilbakemelding. Helt enig, versjons- og pakkeoppgraderinger burde vært fjernet - skal få en venn (TM) til å rydde opp litt før jeg sjekker ut. Tror jeg bare har tilgang til test-miljø gjennom den gamle sftp-løsningen. Er det noen som har noen tanker om design på løsningen her hos dere? Tanken min var å minimere API-endringer |
…pport Agent-Logs-Url: https://github.com/kklocker/digipost-api-client-dotnet/sessions/f6bd7281-3419-4650-80c2-c576858e0f72 Co-authored-by: kklocker <25065744+kklocker@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kklocker/digipost-api-client-dotnet/sessions/f6bd7281-3419-4650-80c2-c576858e0f72 Co-authored-by: kklocker <25065744+kklocker@users.noreply.github.com>
…ocker/digipost-api-client-dotnet into feature/request-interceptors
|
@eivinhb Har litt problemer med å bygge lokalt her jeg - er det noe man må sette opp før man starter utvikling her? Får blant annet Prøvde å kjøre den kommandoen som står i readme også, men det gjør vondt verre
|

Hei! Driver og er litt i utforskningsfasen på integrasjon med digipost-api på jobb.
En ting jeg umiddelbart merket manglet var mulighet til å fange opp requester "og slikt" - vi har det ofte som pattern på eksterne integrasjoner at vi legger på interne sporingsmekanismer hvor vi tar vare på diverse informasjon om selve requesten.
Fikk claude til å starte litt arbeid her basert på en commit jeg hadde i desember. Jeg har ikke kjørt noe av dette, ei heller vet jeg hvordan jeg evt skulle testet det. Tar gjerne i mot tilbakemeldinger.