I really love that tiny Generate Commit Message button in the VS Code interface, but I like my commit messages to us a different commit style, using prefixes like “feat:” and “chore:”. Let’s see if we can wire up the git-commit skill (made by GitHub) to our project, so the AI generates even better message.
Ever since I wrote the blog “Is One Of” and “Is Not One Of” validation attributes, I’ve wondered if there is anything better for class validation. I mean: validating individual properties is fine, but usually the more interesting stuff is the validation of a combination of members.
What I love a about data annotations and validation attributes, is that the validation rules are defined very close to the class: when you open it up, you can view all the rules. The ApiController will even automatically do model validation. This is great, but I like some defense it depth; I want to be able to use those validations in my business service as well. I should not have to trust input. Let’s explore how we can make that happen.
After implementing Kiota clients with resilience, I felt the need to spend some time on unit testing them. The Kiota docs on unit testing uses NSubstitute to override the response of the adapter. After some testing (pun intended), I did not feel satisfied with the results; we should be able to use the “normal” way of testing an HttpClient, right? In this blog, I’ll show how to use the RichardSzalay.MockHttp package together with Kiota.
My new years resolution is to generate HTTP clients for services with an Open API spec. Microsoft released Kiota, a tool that generates C# classes from specs. In this blog, I’ll be looking at dependency injection and resilience.
I was working on a project that needed to call multiple webservices, so I wanted to add resilience. Luckily, Microsoft has created a HTTP Resilience package as a wrapper for Polly, adding sensible defaults. In this blog I’ll explore how easy it is to add the new package to our services, including deferring to configuration.
Looks like my organization (accidentally) wants to manage my background picture. If you are an admin, you might be able to (temporarily) override the wallpaper, by editing your registry and restarting the explorer process. If you can, you can automate it using PowerShell.
Let’s add JWT tokens to protect our API endpoints. Connecting services will supply their public keys, so we can validate their JWT tokens. We’ll use a configuration file to map tokens to local policies to restrict access to certain endpoints.