diff --git a/relay/relay-mj.go b/relay/relay-mj.go index 3cd42cb..7b3a4e2 100644 --- a/relay/relay-mj.go +++ b/relay/relay-mj.go @@ -180,7 +180,7 @@ func RelaySwapFace(c *gin.Context) *dto.MidjourneyResponse { Description: "quota_not_enough", } } - requestURL := c.Request.URL.String() + requestURL := getMjRequestPath(c.Request.URL.String()) baseURL := c.GetString("base_url") fullRequestURL := fmt.Sprintf("%s%s", baseURL, requestURL) mjResp, _, err := service.DoMidjourneyHttpRequest(c, time.Second*60, fullRequestURL) @@ -260,7 +260,7 @@ func RelayMidjourneyTaskImageSeed(c *gin.Context) *dto.MidjourneyResponse { c.Set("channel_id", originTask.ChannelId) c.Request.Header.Set("Authorization", fmt.Sprintf("Bearer %s", channel.Key)) - requestURL := c.Request.URL.String() + requestURL := getMjRequestPath(c.Request.URL.String()) fullRequestURL := fmt.Sprintf("%s%s", channel.GetBaseURL(), requestURL) midjResponseWithStatus, _, err := service.DoMidjourneyHttpRequest(c, time.Second*30, fullRequestURL) if err != nil { @@ -440,7 +440,7 @@ func RelayMidjourneySubmit(c *gin.Context, relayMode int) *dto.MidjourneyRespons } //baseURL := common.ChannelBaseURLs[channelType] - requestURL := c.Request.URL.String() + requestURL := getMjRequestPath(c.Request.URL.String()) baseURL := c.GetString("base_url") @@ -605,3 +605,15 @@ type taskChangeParams struct { Action string Index int } + +func getMjRequestPath(path string) string { + requestURL := path + if strings.Contains(requestURL, "/mj-") { + urls := strings.Split(requestURL, "/mj/") + if len(urls) < 2 { + return requestURL + } + requestURL = "/mj/" + urls[1] + } + return requestURL +}