Fixed POST, PATCH and PUT with JSON parsing
This commit is contained in:
@@ -247,6 +247,8 @@ func makePythoncode(swagger *openapi3.Swagger, name, url, method string, paramet
|
|||||||
queryString := ""
|
queryString := ""
|
||||||
queryData := ""
|
queryData := ""
|
||||||
|
|
||||||
|
log.Printf("URL START: %s", url)
|
||||||
|
|
||||||
// FIXME - this might break - need to check if ? or & should be set as query
|
// FIXME - this might break - need to check if ? or & should be set as query
|
||||||
parameterData := ""
|
parameterData := ""
|
||||||
if len(optionalQueries) > 0 {
|
if len(optionalQueries) > 0 {
|
||||||
@@ -279,7 +281,13 @@ func makePythoncode(swagger *openapi3.Swagger, name, url, method string, paramet
|
|||||||
if swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.In == "header" {
|
if swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.In == "header" {
|
||||||
authenticationSetup = fmt.Sprintf("headers[\"%s\"] = apikey", swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.Name)
|
authenticationSetup = fmt.Sprintf("headers[\"%s\"] = apikey", swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.Name)
|
||||||
} else if swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.In == "query" {
|
} else if swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.In == "query" {
|
||||||
authenticationSetup = fmt.Sprintf("url+=f\"?%s={apikey}\"", swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.Name)
|
// This might suck lol
|
||||||
|
key := "?"
|
||||||
|
if strings.Contains(url, "?") {
|
||||||
|
key = "&"
|
||||||
|
}
|
||||||
|
|
||||||
|
authenticationSetup = fmt.Sprintf("url+=f\"%s%s={apikey}\"", key, swagger.Components.SecuritySchemes["ApiKeyAuth"].Value.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -308,25 +316,53 @@ func makePythoncode(swagger *openapi3.Swagger, name, url, method string, paramet
|
|||||||
|
|
||||||
bodyParameter := ""
|
bodyParameter := ""
|
||||||
bodyAddin := ""
|
bodyAddin := ""
|
||||||
|
bodyFormatter := ""
|
||||||
postParameters := []string{"post", "patch", "put"}
|
postParameters := []string{"post", "patch", "put"}
|
||||||
for _, item := range postParameters {
|
for _, item := range postParameters {
|
||||||
if method == item {
|
if method == item {
|
||||||
bodyParameter = ", body=\"\""
|
bodyParameter = ", body=\"\""
|
||||||
bodyAddin = ", json=body"
|
bodyAddin = ", data=body"
|
||||||
|
|
||||||
|
// FIXME: Does JSON data work?
|
||||||
|
bodyFormatter = `
|
||||||
|
if (body.startswith("{") and body.endswith("}")) or (body.startswith("[") and body.endswith("]")):
|
||||||
|
try:
|
||||||
|
body = json.dumps(body)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
`
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extra param for url if it's changeable
|
// Extra param for url if it's changeable
|
||||||
// Extra param for authentication scheme(s)
|
// Extra param for authentication scheme(s)
|
||||||
|
log.Printf("URL OTHER: %s", url)
|
||||||
data := fmt.Sprintf(` async def %s(self%s%s%s%s%s):
|
data := fmt.Sprintf(` async def %s(self%s%s%s%s%s):
|
||||||
headers={}
|
headers={}
|
||||||
url=f"%s%s"
|
url=f"%s%s"
|
||||||
%s
|
%s
|
||||||
%s
|
%s
|
||||||
|
%s
|
||||||
return requests.%s(url, headers=headers%s%s).text
|
return requests.%s(url, headers=headers%s%s).text
|
||||||
`, functionname, authenticationParameter, urlParameter, parameterData, queryString, bodyParameter, urlInline, url, authenticationSetup, queryData, method, authenticationAddin, bodyAddin)
|
`,
|
||||||
|
functionname,
|
||||||
|
authenticationParameter,
|
||||||
|
urlParameter,
|
||||||
|
parameterData,
|
||||||
|
queryString,
|
||||||
|
bodyParameter,
|
||||||
|
urlInline,
|
||||||
|
url,
|
||||||
|
authenticationSetup,
|
||||||
|
queryData,
|
||||||
|
bodyFormatter,
|
||||||
|
method,
|
||||||
|
authenticationAddin,
|
||||||
|
bodyAddin,
|
||||||
|
)
|
||||||
|
|
||||||
|
log.Printf("DATA: %s", data)
|
||||||
|
|
||||||
//log.Println(data)
|
//log.Println(data)
|
||||||
//log.Println(functionname)
|
//log.Println(functionname)
|
||||||
@@ -776,6 +812,10 @@ func handleConnect(swagger *openapi3.Swagger, api WorkflowApp, extraParameters [
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
@@ -883,6 +923,11 @@ func handleGet(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []Wor
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
// Skipping simial
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
@@ -986,6 +1031,10 @@ func handleHead(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []Wo
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
@@ -1089,6 +1138,10 @@ func handleDelete(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
@@ -1197,6 +1250,10 @@ func handlePost(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []Wo
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
@@ -1300,6 +1357,10 @@ func handlePatch(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []W
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
@@ -1404,6 +1465,10 @@ func handlePut(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []Wor
|
|||||||
|
|
||||||
parameters = append(parameters, param.Value.Name)
|
parameters = append(parameters, param.Value.Name)
|
||||||
|
|
||||||
|
if strings.Contains(baseUrl, fmt.Sprintf("%s={%s}", param.Value.Name, param.Value.Name)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if firstQuery {
|
if firstQuery {
|
||||||
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
baseUrl = fmt.Sprintf("%s?%s={%s}", baseUrl, param.Value.Name, param.Value.Name)
|
||||||
firstQuery = false
|
firstQuery = false
|
||||||
|
|||||||
@@ -4485,7 +4485,7 @@ const AngularWorkflow = (props) => {
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
:
|
:
|
||||||
<div style={{padding: 25, }}>
|
<div style={{padding: 25, maxWidth: 365, overflowX: "hidden",}}>
|
||||||
<Breadcrumbs aria-label="breadcrumb" separator="›" style={{color: "white", fontSize: 16}}>
|
<Breadcrumbs aria-label="breadcrumb" separator="›" style={{color: "white", fontSize: 16}}>
|
||||||
<h2 style={{color: "rgba(255,255,255,0.5)", cursor: "pointer"}} onClick={() => {setExecutionModalView(0)}}>
|
<h2 style={{color: "rgba(255,255,255,0.5)", cursor: "pointer"}} onClick={() => {setExecutionModalView(0)}}>
|
||||||
<DirectionsRunIcon style={{marginRight: 10}} />
|
<DirectionsRunIcon style={{marginRight: 10}} />
|
||||||
|
|||||||
@@ -1262,6 +1262,11 @@ const AppCreator = (props) => {
|
|||||||
parsedurl = request.url
|
parsedurl = request.url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (parsedurl.includes("<") && parsedurl.includes(">")) {
|
||||||
|
parsedurl = parsedurl.split("<").join("{")
|
||||||
|
parsedurl = parsedurl.split(">").join("}")
|
||||||
|
}
|
||||||
|
|
||||||
if (parsedurl.startsWith("http") || parsedurl.startsWith("ftp")) {
|
if (parsedurl.startsWith("http") || parsedurl.startsWith("ftp")) {
|
||||||
if (parsedurl !== undefined && parsedurl.includes(parameterName)) {
|
if (parsedurl !== undefined && parsedurl.includes(parameterName)) {
|
||||||
// Remove <> etc.
|
// Remove <> etc.
|
||||||
@@ -1282,6 +1287,7 @@ const AppCreator = (props) => {
|
|||||||
setActionField("url", parsedurl)
|
setActionField("url", parsedurl)
|
||||||
setUrlPath(parsedurl)
|
setUrlPath(parsedurl)
|
||||||
}
|
}
|
||||||
|
|
||||||
//console.log("URL: ", request.url)
|
//console.log("URL: ", request.url)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user