Eng Zer Jun
0bfa5ca4d9
perf: avoid allocations with (*regexp.Regexp).MatchString ( #604 )
...
We should use `(*regexp.Regexp).MatchString` instead of
`(*regexp.Regexp).Match([]byte(...))` when matching string to avoid
unnecessary `[]byte` conversions and reduce allocations.
Example benchmark:
var allowedOrigin = regexp.MustCompile(".*.example.com")
func BenchmarkMatch(b *testing.B) {
for i := 0; i < b.N; i++ {
if match := allowedOrigin.Match([]byte("www.example.com")); !match {
b.Fail()
}
}
}
func BenchmarkMatchString(b *testing.B) {
for i := 0; i < b.N; i++ {
if match := allowedOrigin.MatchString("wwww.example.com"); !match {
b.Fail()
}
}
}
goos: linux
goarch: amd64
pkg: github.com/gotify/server/v2/api/stream
cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics
BenchmarkMatch-16 2076819 647.7 ns/op 16 B/op 1 allocs/op
BenchmarkMatchString-16 2536326 442.0 ns/op 0 B/op 0 allocs/op
PASS
ok github.com/gotify/server/v2/api/stream 3.552s
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com >
2023-10-23 15:57:15 +00:00
Jannis Mattheis
a2b2f856e0
test: don't run tests twice
2023-09-17 09:05:15 +02:00
eternal-flame-AD
7bf80ee6f1
Add last used to client & application
2023-08-06 12:30:22 +02:00
mateuscelio
0fb584d7f7
Update docs
2022-12-03 10:45:07 +01:00
mateuscelio
70e1fd1863
Add authorization bearer token auth method
2022-12-03 10:45:07 +01:00
Jannis Mattheis
59b2ed17a6
Update linter
2022-05-29 19:45:45 +02:00
pigpig
c172590b92
Add registration
...
Can be enabled via the registration config flag. (disabled per default)
Fixes gotify/server#395
Co-authored-by: pigpig <pigpig@pig.pig >
Co-authored-by: Karmanyaah Malhotra <32671690+karmanyaahm@users.noreply.github.com >
Co-authored-by: Jannis Mattheis <contact@jmattheis.de >
2021-08-04 19:39:43 +02:00
Jannis Mattheis
3454dcd602
Use golangci-lint
2020-11-01 10:47:02 +01:00
Stewart Thomson
93b30c5c44
Allows browser extensions in cors ( #317 )
2020-05-10 06:32:27 +00:00
Jannis Mattheis
7523ad0d2e
Use response header if cors config is empty
...
The cors middleware of gin denies the request with 403 forbidden if
the origin differs.
2020-05-09 16:41:53 +02:00
Jannis Mattheis
7b90b8a8f5
Use v2 in package path
2020-05-08 10:43:17 +02:00
Stewart Thomson
3f04d50088
Allow multiple CORS origins
2020-04-26 11:27:24 +00:00
饺子w
67493c643e
Return 500 server error on database failures ( #191 )
2019-05-25 08:37:24 +02:00
饺子w
efcf4ad13d
Use crypto/rand for token generation ( #161 )
2019-03-16 11:10:28 +01:00
eternal-flame-AD
e5b24f4c92
Add plugin feature
...
Fixed database migration
Added a plugin system based on the go plugin package
2019-02-09 12:52:01 +01:00
Jannis Mattheis
61d5fc59a7
Add UploadApplicationImage API
2018-03-31 18:44:49 +02:00
Jannis Mattheis
0f2e7cf5e2
Use gofmt -s
2018-03-25 19:33:29 +02:00
Jannis Mattheis
6e488e612b
Remove mock & Use database util in authentication handler
2018-03-25 19:33:29 +02:00
Jannis Mattheis
203791c63b
Move password into own package to prevent package cycle
2018-03-25 19:33:29 +02:00
Jannis Mattheis
9e49849039
Use mode in all tests
2018-03-18 17:29:15 +01:00
Jannis Mattheis
433a83823b
Use *ByToken methods in auth
2018-03-11 17:58:44 +01:00
Jannis Mattheis
cda4127551
Make password strength configurable
2018-02-23 19:39:34 +01:00
Jannis Mattheis
6a5357f9b3
Format & reorder imports
2018-02-18 12:56:42 +01:00
Jannis Mattheis
a5acb20d0e
Use custom header for authentication
2018-02-18 12:56:42 +01:00
Jannis Mattheis
1e7e1a71f7
Rename to gotify
2018-02-12 16:48:01 +01:00
Jannis Mattheis
08dbacd71b
Adjust authentication to also send 403
2018-02-11 14:33:59 +01:00
Jannis Mattheis
082b054f4c
Improve build time
...
The bcrypt hashing is really slow with enabled race condition checker,
therefore we exlcude it.
2018-02-11 12:09:12 +01:00
Jannis Mattheis
4e3d00ea98
Reorder imports
2018-02-08 19:52:58 +01:00
Jannis Mattheis
8e8705c6e5
Add tokenkey to the gin context
2018-02-01 18:49:12 +01:00
Jannis Mattheis
8dfb5c7a69
Add token api (app and client)
2018-01-30 18:59:42 +01:00
Jannis Mattheis
fadf989158
Rename auth.Database methods
2018-01-28 15:56:28 +01:00
Jannis Mattheis
6770e6b654
Enable golint and fix golint-errors like adding documentation
2018-01-28 15:56:28 +01:00
Jannis Mattheis
aa66e9792b
Add auth util for saving the user in the ctx
2018-01-27 20:31:56 +01:00
Jannis Mattheis
8a989dc29a
Remove token and add app and client token & Adjust tests
2018-01-27 20:31:56 +01:00
Jannis Mattheis
662e1f4fb5
Add authentication middleware
2018-01-23 18:03:51 +01:00