Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/api/publish fail with 400 Artifact type '' not supported #270

Open
georgeOsdDev opened this issue Jan 16, 2024 · 1 comment
Open

/api/publish fail with 400 Artifact type '' not supported #270

georgeOsdDev opened this issue Jan 16, 2024 · 1 comment

Comments

@georgeOsdDev
Copy link

Kudulite may fail to parse request when HTTP 100 Continue happend.

curl -X POST -u %basicAuthInfo% --data-binary @"./helloworld.war" "https://toshida-tomcat-linux.scm.azurewebsites.net/api/publish?type=war" -v
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 40.79.195.0:443...
* Connected to toshida-tomcat-linux.scm.azurewebsites.net (40.79.195.0) port 443
* schannel: disabled automatic use of client certificate
* ALPN: curl offers http/1.1
* ALPN: server accepted http/1.1
* using HTTP/1.1
* Server auth using Basic with user 'REDACTED'
> POST /api/publish?type=war HTTP/1.1
> Host: toshida-tomcat-linux.scm.azurewebsites.net
> Authorization: Basic REDACTED
> User-Agent: curl/8.4.0
> Accept: */*
> Content-Length: 5098301
> Content-Type: application/x-www-form-urlencoded
> Expect: 100-continue
>
* Done waiting for 100-continue
* We are completely uploaded and fine
< HTTP/1.1 400 Bad Request
< Content-Type: text/plain; charset=utf-8
< Date: Tue, 16 Jan 2024 09:44:18 GMT
< Server: Kestrel
< Set-Cookie: ARRAffinity=REDACTED;Path=/;HttpOnly;Secure;Domain=toshida-tomcat-linux.scm.azurewebsites.net
< Set-Cookie: ARRAffinitySameSite=REDACTED;Path=/;HttpOnly;SameSite=None;Secure;Domain=toshida-tomcat-linux.scm.azurewebsites.net
< Transfer-Encoding: chunked
<
Artifact type '' not supported* Connection #0 to host toshida-tomcat-linux.scm.azurewebsites.net left intact

Kudulite side log( /home/LogFiles/kudu/trace/2024-01-16T09-44-15_e3445e_081_POST_api-publish_400_4s.xml)

cat /home/LogFiles/kudu/trace/2024-01-16T09-44-15_e3445e_081_POST_api-publish_400_4s.xml
<step title="Incoming Request" date="2024-01-16T09:44:15.214" instance="e3445e" url="/api/publish?type=war" method="POST" type="request" pid="92,1,18" Accept="*/*" Host="toshida-tomcat-linux.scm.azurewebsites.net" User-Agent="curl/8.4.0" Authorization="Bas..." Content-Type="application/x-www-form-urlencoded" Expect="100-continue" Content-Length="5098301" X-ARR-LOG-ID="63159023-fe3c-45ff-a741-8ebd43307e11" CLIENT-IP="36.12.195.236:59051" X-Client-IP="36.12.195.236" X-SITE-DEPLOYMENT-ID="toshida-tomcat-linux" WAS-DEFAULT-HOSTNAME="toshida-tomcat-linux.scm.azurewebsites.net" X-Forwarded-Proto="https" X-AppService-Proto="https" X-Forwarded-TlsVersion="1.2" X-WAWS-Unencoded-URL="/api/publish?type=war" X-Client-Port="59051" >
  <step title="Cleanup Xml Logs" date="2024-01-16T09:44:15.273" >
    <step title="Cleanup Infos" date="2024-01-16T09:44:17.967" totalFiles="10784" totalCleanup="10624" /><!-- duration: 161ms -->
  </step><!-- duration: 2866ms -->
  <step title="OneDeploy" date="2024-01-16T09:44:18.782" /><!-- duration: 38ms -->
  <step title="Outgoing response" date="2024-01-16T09:44:18.834" type="response" statusCode="400" statusText="BadRequest" /><!-- duration: 20ms -->
</step><!-- duration: 3659ms -->

This error not happen when I use small size war to avoid HTTP 100 Continue

curl -X POST -u %basicAuthInfo% --data-binary @"./app.war" "https://toshida-tomcat-linux.scm.azurewebsites.net/api/publish?type=war" -v
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 40.79.195.0:443...
* Connected to toshida-tomcat-linux.scm.azurewebsites.net (40.79.195.0) port 443
* schannel: disabled automatic use of client certificate
* ALPN: curl offers http/1.1
* ALPN: server accepted http/1.1
* using HTTP/1.1
* Server auth using Basic with user 'REDACTED'
> POST /api/publish?type=war HTTP/1.1
> Host: toshida-tomcat-linux.scm.azurewebsites.net
> Authorization: Basic REDACTED
> User-Agent: curl/8.4.0
> Accept: */*
> Content-Length: 690778
> Content-Type: application/x-www-form-urlencoded
>
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Content-Length: 0
< Date: Tue, 16 Jan 2024 09:58:42 GMT
< Server: Kestrel
< Set-Cookie: ARRAffinity=REDACTED;Path=/;HttpOnly;Secure;Domain=toshida-tomcat-linux.scm.azurewebsites.net
< Set-Cookie: ARRAffinitySameSite=REDACTED;Path=/;HttpOnly;SameSite=None;Secure;Domain=toshida-tomcat-linux.scm.azurewebsites.net
< SCM-DEPLOYMENT-ID: 2353c115-057e-4dfa-8290-6124ba269269
<
* Connection #0 to host toshida-tomcat-linux.scm.azurewebsites.net left intact
@georgeOsdDev
Copy link
Author

This issue does not happen when I use -T curl option.
The difference with the --data-binary option is that -T option does not send the Content-Type header.

C:\Users\toshida\Downloads>curl -X POST -u %basicAuthInfo% -T "./helloworld.war" "https://toshida-tomcat-linux.scm.azurewebsites.net/api/publish?type=war" -v
*   Trying 40.79.195.0:443...
* Connected to toshida-tomcat-linux.scm.azurewebsites.net (40.79.195.0) port 443
* schannel: disabled automatic use of client certificate
* ALPN: curl offers http/1.1
* ALPN: server accepted http/1.1
* using HTTP/1.1
* Server auth using Basic with user 'REDACTED'
> POST /api/publish?type=war HTTP/1.1
> Host: toshida-tomcat-linux.scm.azurewebsites.net
> Authorization: Basic REDACTED
> User-Agent: curl/8.4.0
> Accept: */*
> Content-Length: 5098301
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Content-Length: 0
< Date: Tue, 16 Jan 2024 10:06:57 GMT
< Server: Kestrel
< Set-Cookie: ARRAffinity=REDACTED;Path=/;HttpOnly;Secure;Domain=toshida-tomcat-linux.scm.azurewebsites.net
< Set-Cookie: ARRAffinitySameSite=REDACTED;Path=/;HttpOnly;SameSite=None;Secure;Domain=toshida-tomcat-linux.scm.azurewebsites.net
< SCM-DEPLOYMENT-ID: 8f144e12-6844-4ea6-9ca2-19644269ebce
<
* Connection #0 to host toshida-tomcat-linux.scm.azurewebsites.net left intact

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant