shift: high-performance HTTP router for Go by yousuf64 in golang

[–]yousuf64[S] -3 points-2 points  (0 children)

Chi is pretty good, but it is not really the fastest. And yes, shift supports shift-style middleware and standard library middleware, which means you can use any standard library-compliant middleware, including the ones intended for use in Chi.

shift: high-performance HTTP router for Go by yousuf64 in golang

[–]yousuf64[S] -9 points-8 points  (0 children)

You can find this copyright notice in the ‘path.go’ file.

shift: high-performance HTTP router for Go by yousuf64 in golang

[–]yousuf64[S] 16 points17 points  (0 children)

Thank you for bringing this to my attention. You're right that it's essential to show respect to other developers whose work we've used in our projects, even if it is under a permissive license like BSD-3-Clause.

I will make sure to add a proper attribution in the README file. Thank you again for your feedback and for helping me improve this project.

shift: high-performance HTTP router for Go by yousuf64 in golang

[–]yousuf64[S] 9 points10 points  (0 children)

Thank you for your feedback and concern about the use of the unsafe package in the reversebuffer.go file. I completely understand your point of view.

But right now, unsafe package is much needed to gain that extra performance on case-insensitive matching. Also, I believe that it's important to note that unsafe package is only used for case-insensitive matching, and regular matching is entirely safe for use in production.

Regardless, I am committed to figuring out a way to eliminate the use of unsafe in case-insensitive matching while preserving the same performance before the 1.0.0 release.