func getParamsFromQuery()

in internal/service/parse.go [27:53]


func getParamsFromQuery(r *http.Request) (*model.GetSecretParams, error) {
	params := &model.GetSecretParams{}
	query := r.URL.Query()

	if val, exists := query[QueryParamsSecretId]; exists {
		params.SecretID = val[0]
	} else {
		return nil, errors.New("missing parameter secretId")
	}

	if val, exists := query[QueryParamsVersionId]; exists {
		params.VersionID = val[0]
	}
	// Compatible with vault format
	if val, exists := query[QueryParamsVersion]; exists {
		params.VersionID = val[0]
	}
	if val, exists := query[QueryParamsVersionStage]; exists {
		params.VersionStage = val[0]
	}
	for param := range query {
		if param != QueryParamsSecretId && param != QueryParamsVersionId && param != QueryParamsVersion && param != QueryParamsVersionStage {
			return nil, fmt.Errorf("unknown parameter: %s", param)
		}
	}
	return params, nil
}