Check for valid UUIDs; probably a good idea to write some validator for this

This commit is contained in:
Sybren A. Stüvel 2022-01-11 18:45:09 +01:00
parent 5af238eb21
commit 6aed4e71ff
3 changed files with 13 additions and 7 deletions

View File

@ -24,6 +24,7 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"github.com/google/uuid"
"github.com/labstack/echo/v4" "github.com/labstack/echo/v4"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"gitlab.com/blender/flamenco-goja-test/pkg/api" "gitlab.com/blender/flamenco-goja-test/pkg/api"
@ -83,6 +84,11 @@ func (f *Flamenco) FetchJob(e echo.Context, jobId string) error {
Str("job_id", jobId). Str("job_id", jobId).
Logger() Logger()
if _, err := uuid.Parse(jobId); err != nil {
logger.Debug().Msg("invalid job ID received")
return sendAPIError(e, http.StatusBadRequest, "job ID not valid")
}
logger.Debug().Msg("fetching job") logger.Debug().Msg("fetching job")
ctx := e.Request().Context() ctx := e.Request().Context()

View File

@ -108,7 +108,7 @@ paths:
- name: job_id - name: job_id
in: path in: path
required: true required: true
schema: {type: string} schema: {type: string, format: uuid}
responses: responses:
"200": "200":
description: Job info description: Job info

View File

@ -54,12 +54,12 @@ var swaggerSpec = []string{
"pUZLIafHJyefVbItwwEyy8CuKil3JNwuAidCOU2E4mIjeMVkuJCcHtzGfhQxQ2syIp9fIHXn4XOzKgpm", "pUZLIafHJyefVbItwwEyy8CuKil3JNwuAidCOU2E4mIjeMVkuJCcHtzGfhQxQ2syIp9fIHXn4XOzKgpm",
"do1XCSMKtn4WXmnTtBP1ANyZGP31JcNK4UdUSy975F7UN2oWg4+A4qUWynl9mxibNRi1hpFAew6uGds/", "do1XCSMKtn4WXmnTtBP1ANyZGP31JcNK4UdUSy975F7UN2oWg4+A4qUWynl9mxibNRi1hpFAew6uGds/",
"oVeHdwQjpms2tfcEBwZ8Do7IwV2CH7NzEObgquUO07WsGvNft58YevZ7f63TpeD7oyZ8Bi7LQ6q2/P0s", "oVeHdwQjpms2tfcEBwZ8Do7IwV2CH7NzEObgquUO07WsGvNft58YevZ7f63TpeD7oyZ8Bi7LQ6q2/P0s",
"K1CreNMWISgQG2RU0rHjYR2//IR+uSPJPFz3ze819QuEpeFq2/vqAXEaDikeQbNAyWszh4oyM3F8m2zb", "K1CreNMWISgQG2RU0rHjPSPI/vIT+umOpPPw3XeH19wvEJaGq27vuwfEbTikeATRAiWvzR4qzMzEcW6y",
"6W0UHOs5L055nwYhR1qMEUOFXZiytfSfFSwHE++IiAq7cUlqGT4rGFYK3pWQ4eAEcU83MGrxIyJua3/W", "bae5UbCs57449X0axBxpOUYMFXZhCtfSf1bwHEzAIyIqDC9Jahk+KzhWCt6VkOEgBXFPNzBq8SNCbmt/",
"sRRfXI4cCi5BHGhP2sOIcvGr9ZEam+XAKwkXYXD9dNjX/YY+YiT/9bwL+vuEPj75eti0/ajjF7b+VwN/", "1rEUX1yOHAouQVxoT9rDiHLxK/aRmpvlwCsJF2GQ/XRY2P2mPmIk/zW9WwT2CX188vWwiftRxy9u/a8I",
"e1pfKu4T+vXJ6cerxr1JfET4czB1/XkKSgDvtaMeBXuN6OtLxLPWmz+ljgkVA8D1LXFfJHjD2ehF061/", "/ja1vmTcJ/Trk9OPV517k/mI8Odg6nr0FJQA3mtPPSr2GtPXl4hnrTd/Sh0TKgaA61vivkjwhrPRi6Zb",
"XgSzqXE49HsziqwjxUPbfoP2xP/epP67EUqyBucLQz0UkpTJVLIenlt/FXlQys7P+sU9+MfTzHRRVAr9", "D70IZlPjcuj/ZhRZR4qHtv0G7Yn/vUn9dySUZA3OF4p6SCQpk6lkPXy3/mryoLSdn/WLffCPp5npoqgU",
"ET8xH3YA05Z81Ht/uf9vAAAA//9nlOZMpSEAAA==", "+iN+cj7sCKYt+aj3/nL/3wAAAP//aU95WLUhAAA=",
} }
// GetSwagger returns the content of the embedded swagger specification file // GetSwagger returns the content of the embedded swagger specification file