From 6607e1c9444d0814b72762a46814ff0812d96343 Mon Sep 17 00:00:00 2001 From: kim Date: Thu, 18 Sep 2025 16:33:23 +0200 Subject: [feature] add paging support to rss feed endpoint, and support JSON / atom feed types (#4442) originally based on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4396 hope this is okay https://codeberg.org/zordsdavini ! closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4411 closes https://codeberg.org/superseriousbusiness/gotosocial/issues/3407 Co-authored-by: Arnas Udovic Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4442 Co-authored-by: kim Co-committed-by: kim --- internal/api/util/response.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'internal/api/util/response.go') diff --git a/internal/api/util/response.go b/internal/api/util/response.go index 105537f36..ff58b68e3 100644 --- a/internal/api/util/response.go +++ b/internal/api/util/response.go @@ -71,6 +71,18 @@ func JSONType(c *gin.Context, code int, contentType string, data any) { EncodeJSONResponse(c.Writer, c.Request, code, contentType, data) } +// XML calls EncodeJSONResponse() using gin.Context{}, with content-type = AppXML, +// This function handles the case of XML unmarshal errors and pools read buffers. +func XML(c *gin.Context, code int, data any) { + EncodeXMLResponse(c.Writer, c.Request, code, AppXML, data) +} + +// XML calls EncodeXMLResponse() using gin.Context{}, with given content-type. +// This function handles the case of XML unmarshal errors and pools read buffers. +func XMLType(c *gin.Context, code int, contentType string, data any) { + EncodeXMLResponse(c.Writer, c.Request, code, contentType, data) +} + // Data calls WriteResponseBytes() using gin.Context{}, with given content-type. func Data(c *gin.Context, code int, contentType string, data []byte) { WriteResponseBytes(c.Writer, c.Request, code, contentType, data) @@ -230,6 +242,7 @@ func EncodeCSVResponse( // Write all the records to the buffer. if err := csvWriter.WriteAll(records); err == nil { + // Respond with the now-known // size byte slice within buf. WriteResponseBytes(rw, r, -- cgit v1.2.3