From 547020084d38d316bd7327cda07b060734534bba Mon Sep 17 00:00:00 2001 From: kim Date: Mon, 14 Apr 2025 12:23:16 +0100 Subject: [PATCH] update semantics of when media URL is left unset --- internal/api/client/media/mediacreate.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/api/client/media/mediacreate.go b/internal/api/client/media/mediacreate.go index 0f9de7b56..4abcb8b22 100644 --- a/internal/api/client/media/mediacreate.go +++ b/internal/api/client/media/mediacreate.go @@ -92,9 +92,10 @@ import ( // '500': // description: internal server error func (m *Module) MediaCreatePOSTHandler(c *gin.Context) { - apiVersion, errWithCode := apiutil.ParseAPIVersion( + _, errWithCode := apiutil.ParseAPIVersion( c.Param(apiutil.APIVersionKey), - []string{apiutil.APIv1, apiutil.APIv2}..., + apiutil.APIv1, + apiutil.APIv2, ) if errWithCode != nil { apiutil.ErrorHandler(c, errWithCode, m.processor.InstanceGetV1) @@ -137,14 +138,13 @@ func (m *Module) MediaCreatePOSTHandler(c *gin.Context) { return } - if apiVersion == apiutil.APIv2 { - // the mastodon v2 media API specifies that the URL should be null - // and that the client should call /api/v1/media/:id to get the URL - // - // so even though we have the URL already, remove it now to comply - // with the api - apiAttachment.URL = nil - } + // The v2 mastodon endpoint always returns TextURL, + // but in the case that a 202 Accepted (i.e. processing + // still in progress) is returned then the URL will be + // nil. Since we only ever return a 200 OK, we behave + // exactly the same as the v1 endpoint. + // + // https://docs.joinmastodon.org/methods/media/#v2 apiutil.JSON(c, http.StatusOK, apiAttachment) }