Fix concurrency safe due to shared atI18n object #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In terms of the #21 issue, the middleware is not concurrency safe due to using atI18n variable at global scope. It would be critical to run in the production which handle many concurrency requests. So I propose to fix it by storing atI18n variable in gin.Context. However, the change would be made a break change in the signatures of GetMessage and MustGetMessage function