82 Commits

Author SHA1 Message Date
e3813daa80 fix(multiplexer): EnsureMethod string comparasion not properly checking method 2025-11-13 14:17:45 -03:00
18fa785154 chore(deps): update to go 1.25.2 2025-11-13 14:16:55 -03:00
bb634f58cb chore: update module domain 2025-10-20 12:05:46 -03:00
484584882a docs(readme): contributing information 2025-08-26 16:33:56 -03:00
71117f2c08 docs(readme): how to use the package 2025-08-26 16:33:56 -03:00
38a1ab4ff1 docs(readme): about the package 2025-08-26 16:33:56 -03:00
24f397b9e3 docs: Smalltrip.go logo 2025-08-26 16:33:56 -03:00
a10df34cce chore(ci): update to golangci-lint v2 config 2025-08-26 16:33:56 -03:00
3211a6917b chore(module,repository): update module path with new repository 2025-08-26 16:33:55 -03:00
67bf6cf61e chore(lint): configure golang_ci 2025-08-26 16:33:55 -03:00
a9949c8b5d chore(flake): dev shell setup via nix flake 2025-08-26 16:33:55 -03:00
23789c02f4 feat(smalltrip,problem): problem multiplexer to handle 404 and 405 errors 2025-08-26 16:33:55 -03:00
b339cf23cb feat(smalltrip,middleware): FormMethod middleware 2025-08-26 16:33:55 -03:00
cecf19693f feat(smalltrip,multiplexer): pattern options and rules multiplexer 2025-08-26 16:33:45 -03:00
dfebde8c4e feat(smalltrip,multiplexer): form method multiplexer 2025-08-26 16:33:35 -03:00
547a88db80 feat(smalltrip,multiplexer): Multiplexer interface constructor, alias to http.NewServeMux 2025-08-08 19:17:56 -03:00
47b5014f21 feat(smalltrip,problem): expose context key of middleware 2025-08-08 19:17:01 -03:00
b4235ab5e9 feat!(smalltrip,router): log handler type name and package on Handle and HandleFunc 2025-08-08 19:16:44 -03:00
d0506a6c14 feat(smalltrip,problem): panic middleware 2025-07-30 19:15:18 -03:00
407da65f38 feat(smalltrip,problem): make WithDetail, WithDetailf and WithError append message if there is already one 2025-07-30 19:15:08 -03:00
f62fc22a06 fix(smalltrip,problem): name NewInternalServerError instead of NewInternalError 2025-07-30 19:14:59 -03:00
49ddff5c41 chore(smalltrip,problem): add license header to problem package files 2025-07-30 19:14:46 -03:00
c733c6538b feat(smalltrip): remove exceptions package in favor of problem 2025-07-30 19:14:44 -03:00
94db7c51ea feat(smalltrip,problem): use handler browser as default handler 2025-07-30 19:14:43 -03:00
e2e26c89e0 feat(smalltrip,problem): middleware support to set global handlers 2025-07-30 19:14:43 -03:00
8f77794295 feat(smalltrip,problem): handler browser 2025-07-30 19:14:43 -03:00
fac89e5565 feat(smalltrip,problem): handler template 2025-07-30 19:14:42 -03:00
bbebb0d140 refactor(smalltrip,problems): remove fallbacks from handlers 2025-07-30 19:14:42 -03:00
da132231f7 refactor(smalltrip,problems): rename http.go to handlers.go 2025-07-29 19:18:28 -03:00
e7268c9fa0 feat(smalltrip,problems): use Problem interface on handlers 2025-07-29 19:18:28 -03:00
8c51880748 feat(smalltrip,problems): Problem interface 2025-07-29 19:18:27 -03:00
d4836e877a fix(smalltrip,problems): make problems be structs with Problem embedded 2025-07-29 19:15:10 -03:00
830bafcbbe refactor(smalltrip,problems): define RetryAfter header parsing into separated type 2025-07-29 19:15:10 -03:00
b4a9c349bb feat(smallstrip,problems): 400s codes constructors and problems 2025-07-29 19:14:36 -03:00
d9c1bf0df5 refactor(smallstrip,problems): make 500 error types distinct and not aliases 2025-07-29 19:14:36 -03:00
c847f2b421 feat(smalltrip,problems): 500s code constructors and problems 2025-07-04 19:15:27 -03:00
8bab404d03 feat(smalltrip,problems): http handler for problems (wip) 2025-07-04 19:15:26 -03:00
094eab5333 feat(smalltrip,problems): new problem package to handle 400 and 500 error codes
This is planned to replace the exceptions package, having a nicer and
more extendable API, based on the RFC 9457 (HTTP problems)
2025-07-04 19:15:24 -03:00
5f6093d2ce feat(smalltrip): use multiplexer interface instead of http.ServeMux
This will be useful for the future to provide something akin to
plugins/addons to the router.
2025-06-27 22:02:39 -03:00
93f9d7e2c3 feat(smallstrip): WithMiddleware option 2025-06-27 22:01:13 -03:00
5466adaa42 chore(smalltrip): delete routes file 2025-06-27 21:59:55 -03:00
a1aeadf017 refactor(smalltrip): simplify router implementation
This removes all the parse route and route group code, since they
haven't a lot of use for it. Router is now just a small wrapper over Mux
to add middleware support.
2025-06-27 21:59:16 -03:00
523ec24e76 fix(smalltrip,exception): make MethodNotAllowed error more clear about allowed methods 2025-03-11 19:28:25 -03:00
28da082450 feat(smallstrip,middleware): rename Dev middleware to DisableCache 2025-03-06 18:44:33 -03:00
f580091c05 refactor(smalltrip,exception): rename exceptions package to exception, singular form 2025-03-05 13:51:22 -03:00
5a11c2a872 fix(smallstrip,exceptions): missing return causing nil de-reference 2025-03-05 12:21:50 -03:00
e6007de362 fix(smallstrip,exceptions): superfulous call when responding exception after first Write 2025-03-05 11:51:14 -03:00
e782fdce33 feat(smallstrip,exceptions): improve default exception template 2025-03-05 10:41:58 -03:00
ccb6231f0d revert(smalltrip,middleware): remove net.ParseIP to validate ip address 2025-03-05 09:57:04 -03:00
6944d2cccd fix(smalltrip): middlewares are not wrapped with previous ones 2025-03-05 09:45:56 -03:00