summaryrefslogtreecommitdiff
path: root/internal/ap
diff options
context:
space:
mode:
authorLibravatar kim <grufwub@gmail.com>2025-08-09 16:23:00 +0200
committerLibravatar tobi <kipvandenbos@noreply.codeberg.org>2025-08-09 16:23:00 +0200
commit7af9117e0dc73f83995a32f11158cffdbaf5307c (patch)
tree8295b880a2b20306febbd0330de1f51a03533bb0 /internal/ap
parentchore: github/README update release month (#4359) (diff)
downloadgotosocial-7af9117e0dc73f83995a32f11158cffdbaf5307c.tar.xz
[feature + performance] add JSON logging format (#4355)
# Description Adds JSON logging as an optional alternative log output format. In the process this moves our log formatting itself into a separate subpkg to make it more easily modular, and improves caller name getting with some calling function name caching. ## Checklist - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [x] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [x] I/we have performed a self-review of added code. - [x] I/we have written code that is legible and maintainable by others. - [x] I/we have commented the added code, particularly in hard-to-understand areas. - [x] I/we have made any necessary changes to documentation. - [ ] I/we have added tests that cover new code. - [x] I/we have run tests and they pass locally with the changes. - [x] I/we have run `go fmt ./...` and `golangci-lint run`. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4355 Co-authored-by: kim <grufwub@gmail.com> Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/ap')
-rw-r--r--internal/ap/extract.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/internal/ap/extract.go b/internal/ap/extract.go
index 15d24cd1e..7a727b005 100644
--- a/internal/ap/extract.go
+++ b/internal/ap/extract.go
@@ -97,11 +97,12 @@ func ExtractActivityData(activity pub.Activity, rawJSON map[string]any) ([]TypeO
func ExtractAccountables(arr []TypeOrIRI) ([]Accountable, []TypeOrIRI) {
var accounts []Accountable
- for i := 0; i < len(arr); i++ {
+ for i := 0; i < len(arr); {
elem := arr[i]
if elem.IsIRI() {
// skip IRIs
+ i++ // iter
continue
}
@@ -112,6 +113,7 @@ func ExtractAccountables(arr []TypeOrIRI) ([]Accountable, []TypeOrIRI) {
// Try cast AS type as Accountable.
account, ok := ToAccountable(t)
if !ok {
+ i++ // iter
continue
}
@@ -130,11 +132,12 @@ func ExtractAccountables(arr []TypeOrIRI) ([]Accountable, []TypeOrIRI) {
func ExtractStatusables(arr []TypeOrIRI) ([]Statusable, []TypeOrIRI) {
var statuses []Statusable
- for i := 0; i < len(arr); i++ {
+ for i := 0; i < len(arr); {
elem := arr[i]
if elem.IsIRI() {
// skip IRIs
+ i++ // iter
continue
}
@@ -145,10 +148,11 @@ func ExtractStatusables(arr []TypeOrIRI) ([]Statusable, []TypeOrIRI) {
// Try cast AS type as Statusable.
status, ok := ToStatusable(t)
if !ok {
+ i++ // iter
continue
}
- // Add casted Statusable type.
+ // Append casted Statusable type.
statuses = append(statuses, status)
// Drop elem from slice.
@@ -163,11 +167,12 @@ func ExtractStatusables(arr []TypeOrIRI) ([]Statusable, []TypeOrIRI) {
func ExtractPollOptionables(arr []TypeOrIRI) ([]PollOptionable, []TypeOrIRI) {
var options []PollOptionable
- for i := 0; i < len(arr); i++ {
+ for i := 0; i < len(arr); {
elem := arr[i]
if elem.IsIRI() {
// skip IRIs
+ i++ // iter
continue
}
@@ -178,6 +183,7 @@ func ExtractPollOptionables(arr []TypeOrIRI) ([]PollOptionable, []TypeOrIRI) {
// Try cast as PollOptionable.
option, ok := ToPollOptionable(t)
if !ok {
+ i++ // iter
continue
}