Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dot net version #10

Merged
merged 4 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/publish-docker-image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: ci

on:
push:
tags:
- '*'

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
- uses: docker/build-push-action@v6
- with:
push: true
tags: wshaddix/http-nats-proxy:${{github.ref_name}}
41 changes: 31 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@

* now honoring the `NatsMessage.responseStatusCode` if it has been set by the microservice handling the request.

* if the `NatsMessage.errorMessage` property is set then the http-nats-proxy will return a status code 500 with a formatted error message to the api client.
* if the `NatsMessage.errorMessage` property is set then the http-nats-proxy will return a status code 500 with a
formatted error message to the api client.

* now returning the `NatsMessage.response` as the http response.

## 1.0.0

* added pipeline feature and refactored the solution to have working examples of logging, metrics, authentiation and trace header injection.
* added pipeline feature and refactored the solution to have working examples of logging, metrics, authentiation and
trace header injection.

## 1.0.1

Expand All @@ -24,11 +26,14 @@

## 1.0.3

* changing the format of the message that the proxy sends to microservices and the pipeline steps to make them more intuitive. Specifically changed `Cookies, ExtendedProperties, QueryParams, RequestHeaders` and `ResponseHeaders` from name/value collections to `Dictionary<string, object>` so they serialize into a more intuitive json string.
* changing the format of the message that the proxy sends to microservices and the pipeline steps to make them more
intuitive. Specifically changed `Cookies, ExtendedProperties, QueryParams, RequestHeaders` and `ResponseHeaders` from
name/value collections to `Dictionary<string, object>` so they serialize into a more intuitive json string.

## 1.0.4

* changed the call timings from a tuple to a custom class because tuples do not serialize to json with readable property names (see https://github.com/JamesNK/Newtonsoft.Json/issues/1230)
* changed the call timings from a tuple to a custom class because tuples do not serialize to json with readable property
names (see https://github.com/JamesNK/Newtonsoft.Json/issues/1230)
* renamed property `Body` to `RequestBody` on the `NatsMessage`
* renamed property `Response` to `ResponseBody` on the `NatsMessage`
* introduced the concept of Observers to the request pipeline (see README for details)
Expand All @@ -39,30 +44,46 @@

## 1.0.6

* bugfix - when CORS was enabled in release 1.0.5 I didn't fully enable it b/c i didn't include the .AllowCredentials() method on the CORS policy builder
* bugfix - when CORS was enabled in release 1.0.5 I didn't fully enable it b/c i didn't include the .AllowCredentials()
method on the CORS policy builder

## 1.1.0

* extracted some types and helper classes into Proxy.Shared and made into a nuget package for other c# based microservices to leverage
* extracted some types and helper classes into Proxy.Shared and made into a nuget package for other c# based
microservices to leverage
* refactored the example handlers (handlers and observers) to use the Proxy.Shared library
* updated the docker image to use dotnet core 2.1 alpine
* updated logging to use serilog instead of console.writeline
* updated referenced nuget packages to their latest versions
* refactored the request handler to be less bloated and more focused
* updated nats to version 1.2.0
* now compiling against .net core 2.1.300
* added a .TryGetParam() method to the MicroserviceMessage to make it easier to get at headers, cookies and query string params
* added a .TryGetParam() method to the MicroserviceMessage to make it easier to get at headers, cookies and query string
params

## 1.1.1

* fixing issue where response type was not getting set
* fixing issue where response type was not getting set

## 1.1.2

* code cleanup
* updated .net core version to 2.2.301
* updated docker images to mcr.microsoft.com/dotnet/core/sdk:2.2.301-alpine3.9 and mcr.microsoft.com/dotnet/core/runtime:2.2.6-alpine3.9
* updated docker images to mcr.microsoft.com/dotnet/core/sdk:2.2.301-alpine3.9 and
mcr.microsoft.com/dotnet/core/runtime:2.2.6-alpine3.9
* updated NATS server version to 1.4.1
* updated projects target framework to .Net Core 2.2
* merged in PR to fix parsing of extended properties during pipeline execution (thanks to https://github.com/timsmid)
* updated all nuget dependencies
* updated all nuget dependencies

## 1.2.0

* Updated to .Net 9
* Migrated to centralized package management
* Updated log messages to follow best practices (no trailing period)
* Fixed typos in code comments
* Added additional error handling and null checks
* Updated any outdated or vulnerable NuGet packages
* Updated Dockerfile to latest versions and addressed scout vulnerabilities
* Added new env vars to enhance logging (see README)
* Added Bruno (https://www.usebruno.com/) collection of api tests
Loading