Commit Graph

69 Commits

Author SHA1 Message Date
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
7ee8e222fd revert(smalltrip,middleware): remove premature optimization from logger 2025-03-05 09:45:31 -03:00
ce3a9da0f1 fix(smalltrip,middleware): cache directives using floats instead of int 2025-03-05 09:12:13 -03:00
5b99723788 chore(smalltrip): format the copyright author line 2025-02-27 16:21:57 -03:00
c1798847fd chore(smalltrip): add LICENSE file and headers 2025-02-27 16:21:01 -03:00
239f5d1f4e fix(smalltrip,middleware): import statement still poiting to groute 2025-02-27 16:20:35 -03:00
4ca5db44bd refactor(smalltrip): remove unecessary length argument in make 2025-02-26 19:30:25 -03:00
753a4bb19e refactor(smalltrip): rename handleRouter to handleGroup 2025-02-26 19:30:06 -03:00
ee3e6c9a90 fix(smallstrip,middleware): rename bool variable to not conflict with built-in id 2025-02-26 18:38:49 -03:00
a99079d3a3 feat(smalltrip,middleware): check interface of directives struct 2025-02-26 18:37:34 -03:00
51517fdfa8 refactor(smalltrip,exceptions): use std log levels as Severity Levels 2025-02-26 18:12:22 -03:00
6a07ce9470 feat(smalltrip,exceptions): make panic errors be of severity FATAL 2025-02-26 17:51:21 -03:00
ba74401be8 feat(smalltrip,exceptions): PanicMiddleware to recover from unexcepted panics 2025-02-26 17:48:44 -03:00
2dfa195cee docs(smalltrip,exceptions): add MDN documentation for each status code on 500s contructors 2025-02-26 16:47:03 -03:00