Commit Graph

277 Commits

Author SHA1 Message Date
Saksham Arya c2e744e158 make headers thread safe
add reader lock
2024-11-22 12:43:32 +05:30
haesuo566 e46bd52185
refactor(context): add an optional permission parameter to the SaveUploadedFile method (#4068) (#4088)
Co-authored-by: hso <hso@trinitysoft.co.kr>
2024-11-15 23:54:06 +08:00
Bo-Yi Wu f875d87283
chore(context): test context initialization and handler logic (#4087)
* enhance code imported by #3413

if it needs to check if the handler is nil, tie c.index shall
always ++

* test: refactor test context initialization and handler logic

- Remove an empty line in `TestContextInitQueryCache`
- Add `TestContextNext` function with tests for `Next` method behavior with no handlers, one handler, and multiple handlers

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>

---------

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: zjj <zhong2plus@gmail.com>
2024-11-15 23:49:08 +08:00
Konovalov Maxim c8a3adc657
refactor(context): simplify "GetType()" functions (#4080)
This PR introduces a generic function, getTyped[T any], to simplify value retrieval in the Context struct. It replaces repetitive type assertions in the GetString  GetBool etc. methods.

Co-authored-by: Maksim Konovalov <maksim.konovalov@vk.team>
2024-10-29 23:24:53 +08:00
Xinyu Kuo 647311aba2
refactor(context): refactor context handling and improve test robustness (#4066)
Use assert.InDelta for float comparison with tolerance in TestContextGetFloat32
Remove unnecessary blank line in TestContextInitQueryCache
Replace anonymous struct with named contextKey type in TestContextWithFallbackValueFromRequestContext
Update context key handling in TestContextWithFallbackValueFromRequestContext to use contextKey type
2024-10-25 09:33:31 +08:00
CC11001100 9d7c0e9e1a
feat(context): GetXxx added support for more go native types (#3633) 2024-09-15 08:58:59 +08:00
Adriano Sela Aviles e0d46ded6c
fix(context): verify URL is Non-nil in initQueryCache() (#3969) 2024-05-19 10:48:07 +08:00
RedCrazyGhost 4f339e6a35
fix(context): YAML judgment logic in Negotiate (#3966) 2024-05-14 10:25:54 +08:00
51pwn 36b0dede4b
fix(context): check handler is nil (#3413)
* fixed #3404 2022-11-23

* up 2022-11-23

* refactor: refactor context handling and nil checks

- Refactor nil checks to improve readability in `context.go`
- Modify the control flow in `HandlerNames` and `Next` methods to continue on nil values before appending or invoking handlers in `context.go`

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>

* test: refactor context_test.go for clarity and efficiency

- Insert a `nil` value into the `HandlersChain` array in `context_test.go`
- Remove empty test functions in `context_test.go`

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>

---------

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2024-05-13 14:55:41 +08:00
guonaihong 6ca8ddb1ae
feat(binding): add BindPlain (#3904)
* add BindPlain

* fix ci/cd error
2024-05-13 11:11:56 +08:00
Name c964ad370b
chore(optimize): the ShouldBindUri method of the Context struct (#3911)
Co-authored-by: huangzw <huangzw@hsmap.com>
2024-04-01 12:58:01 +08:00
RedCrazyGhost 7a865dcf1d
feat(bind): ShouldBindBodyWith shortcut and change doc (#3871)
* feat: ShouldBindBodyWith shortcut and change doc

* fix: yaml can parse json test case

* style: fix new test case in context_test.go

* chore: modify the code style to specify binding type

* chroe: gofmt modifies the code format
2024-03-23 22:09:02 +08:00
Farmer.Chillax 2b1da2b0b3
fix(context): make context Value method adhere to Go standards (#3897) 2024-03-21 21:08:41 +08:00
Noah Yao ab8042e9e5
chore(request): check reader if it's nil before reading (#3419) 2024-03-11 22:44:28 +08:00
TotomiEcio 83fc7673f9
docs: fix typo in function documentation (#3872) 2024-03-11 22:25:28 +08:00
qingmu 646312aef6
fix: protect Context.Keys map when call Copy method (#3873) 2024-03-11 22:24:36 +08:00
Karthik Reddy Puli 09f8224593
fix(route): Add fullPath in context copy (#3784)
* fix: Add fullPath in context copy

* Update context.go

---------

Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2024-03-06 16:46:53 +08:00
Name 739d2d9c80
chore(perf): Optimize the Copy method of the Context struct (#3859)
* Optimize the Copy method of the Context struct: using 'make' to initialize the map('cp.Keys') with a length of 'c.Keys'; avoiding repeatedly assiging the 'params' to 'context'.

* Using temporary variables to save c.Keys and c.Params to prevent them from changing during the copying process.

---------

Co-authored-by: huangzw <huangzw@hsmap.com>
2024-03-05 14:07:11 +08:00
Bence Vidosits bb1fc2e0fe
fix Request.Context() checks (#3512)
Co-authored-by: Bence Vidosits <bence.vidosits1@ibm.com>
2023-05-29 09:59:35 +08:00
Motoyasu Saburi 2d4bbec941
fix lack of escaping of filename in Content-Disposition (#3556)
* fix lack of escaping of filename in Content-Disposition

* add test for Content-Disposition filename escaping process

* fix filename escape bypass problem
fix backslashes before backquotes were not properly escaped problem.
2023-05-29 09:57:53 +08:00
thinkerou 1e1f0b1e76
chore: support min go version 1.18 (#3511)
* chore: min go version 1.18

* fix build tag error

* remove build tag

* fix word

* remove any.go

* replace interface{} instead of any
2023-03-01 10:03:48 +08:00
Vladislav Dmitriyev 0c96a20209
Stop useless panicking in context and render (#2150)
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2023-02-12 10:01:33 +08:00
adrianiacobghiula 7cb151bb4c
fix(context): panic on NegotiateFormat - index out of range (#3397) 2023-01-16 22:50:07 +08:00
youngxhui 7d8fc1563b
update context.go Get/Set method use defer (#3429)
Using defer to unlock  is more in line with go standards
2023-01-02 11:39:26 +08:00
Cookiery cc367f9125
docs(context): #3369 modify the annotation about Context.Param() (#3414) 2022-12-01 13:15:31 +08:00
Qt 6150c488e7
remove deprecated of package io/ioutil (#3395) 2022-11-17 22:35:55 +08:00
lgbgbl 212267d671
fix: fix typo in comment (#3371) 2022-11-08 19:54:48 +08:00
Mohana sai krishna Kandula 45c758e2f9
chore(file): Creates a directory named path (#3316)
Co-authored-by: mohanak <mohanak@mkcl.org>
2022-10-16 09:45:08 +08:00
thinkerou b04917c53e
chore: upgrade golangci-lint and fix golangci-lint error (#3278) 2022-08-15 21:38:20 +08:00
Jordan Day 6c3a1d7063
Small doc fix on Context's ClientIP() method. (#3180) 2022-06-09 10:08:49 +08:00
wei f197a8bae0
feat(context): add ContextWithFallback feature flag (#3166) (#3172)
Enable fallback Context.Deadline(), Context.Done(), Context.Err() and Context.Value()
2022-06-06 18:43:53 +08:00
thinkerou 4b68a5f12a
chore: update go.mod and remove space from copyright (#3158)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 10:42:28 +08:00
Valentine Oragbakosi ed03102ef0
[GIN-001] - Add TOML bining for gin (#3081)
Co-authored-by: GitstartHQ <gitstart@users.noreply.github.com>
2022-05-28 08:34:43 +08:00
Faisal Alam e61cc06955
feat(context): return GIN Context from Value method (#2825) 2022-04-23 18:02:54 +08:00
ahuigo 6854212698
Fix: missing `sameSite` when do context.reset() (#3123) 2022-04-17 12:41:59 +08:00
thinkerou 2bde107686
test support go1.18 (#2990) 2022-03-21 09:43:17 +08:00
metal A-wing 8860527de6
feat attachment filename support utf8 (#3071) 2022-03-17 11:56:16 +08:00
Waynerv 580e7da6ee
Remove incorrect comments about context.Bind() and improve docs (#3028) 2022-01-20 22:33:35 +08:00
jincheng9 01363191be
fix: typo (#3006) 2022-01-02 14:04:07 +08:00
jincheng9 92a988d761
fix: description error (#2988)
* fix:typo

* fix: typo

* fix: wrong when wildcard follows named param

* fix: description error

* update author list

* fix:typo

* fix: description error
2021-12-18 19:40:47 +08:00
Notealot 0be805a675
TrustedProxies: Add default IPv6 support and refactor (#2967) 2021-12-03 14:49:16 +08:00
jincheng9 bc2417fc40
fix: description error (#2968) 2021-11-30 08:36:36 +08:00
jincheng9 ffb3b73430
fix: description error (#2961) 2021-11-26 16:38:10 +08:00
zero11-0203 6aee45608d
Fix grammar (#2933) 2021-11-11 08:07:55 +08:00
Notealot 2d3d6d2f13
Provide custom options of TrustedPlatform for another CDN services (#2906)
* refine TrustedPlatform and docs

* refactor for switch

* refactor switch to if statement
2021-10-24 08:34:03 +08:00
Zhu Xi 3fe928994b
Update the code logic for latestNode in tree.go (#2897) 2021-10-23 11:58:57 +08:00
Egor Seredin 5929d52171
ClientIP: check every proxy for trustiness (#2844) 2021-10-09 08:38:51 +08:00
Notealot 39181329de
Tidy: Complete TrustedProxies feature (#2887) 2021-10-06 09:37:25 +08:00
joeADSP 97b3c0d88a
Fix grammatical and spelling errors in context.go (#2883) 2021-09-29 07:35:06 +08:00
Matthieu MOREL 71f7087097
golangci(lint) : more linters (#2870) 2021-09-21 15:22:21 +08:00