shiori/internal
Tomi lla dde1b44e77
fix(log): record user real ip from headers (#603)
* fix(real_ip): get user real ip from headers of request

* fix(real_ip): compatible with those header with multiple IP values separated by commas

* test(real_ip): add benchmark for IPv4 and IPv6 private address check

* fix(real_ip): check empty, then remove leading and tailing comma char, finally locate first IP field

* test(real_ip): move checker logic into utils and add more unit test cases

* test(real_ip): write unit tests covering all code branches of the `util-ip` module

* refactor(real_ip): use one-line `testify.assert.Panics` to capture intended panic in test case

* chore(real_ip): add module private variable `UserRealIpHeaderCandidates`

put those headers together, make it easy to manage in one place

* doc(real_ip): write docstring for each function in the `utils-ip` module

* chore(real_ip): choose more concrete and unambiguous name for test helper function

It is to avoid polluting the module name-space with too general names.

* chore(naming): change function names according to code style

* refactor(real_ip): simplify the code indicated by 'gosimple' and `golangci`

* chore(naming): rename the `utils-ip` file to `utils_ip` to match with the rest of the file structure

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-06-11 21:25:23 +02:00
..
cmd Add log args for root command (#565) 2023-03-17 13:37:23 +01:00
core feat: improve bookmark image detection (#554) 2023-01-21 09:53:19 +01:00
database Make migrations transparent to the user (#530) 2022-11-27 15:39:27 +01:00
model fix: data dir permissions having execute for all (#493) 2022-10-09 18:50:42 +02:00
view fix direction in RTL language (#615) 2023-06-11 21:18:12 +02:00
webserver fix(log): record user real ip from headers (#603) 2023-06-11 21:25:23 +02:00
assets.go replace assets generation with embed (#423) 2022-05-26 19:36:23 +02:00