-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
En el commit 9ec7e2c paso por encima este problema, basta con subir un paste que supere el peso permitido de la instancia y que esté presente la cabecera Transfer-Encoding:
curl https://jspaste.eu/api/document/v1 --verbose --data-binary "@/route/to/big/file" -H "transfer-encoding: chunked" -H "x-jspaste-name: myPaste"Si el payload no se le puede identificar el tamaño tendrá que ser consumido, el problema es que llegado a ese punto ya se ha creado el registro en la base de datos, por lo que si se interrumpe..:
> POST /api/document/v1 HTTP/1.1
> Host: jspaste.eu
> Accept: */*
> transfer-encoding: chunked
> x-jspaste-name: myPaste
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
<
< HTTP/1.1 413 Payload Too Large
< content-type: application/json
< access-control-allow-origin: *
< cache-control: no-transform
< vary: Accept-Encoding
< transfer-encoding: chunked
* HTTP error before end of send, stop sending
* abort upload after having sent 5045964 bytes
<
* shutting down connection #0
{"code":1203,"message":"The document content exceeds the maximum allowed size."}...al reintentar la subida..:
> POST /api/document/v1 HTTP/1.1
> Host: jspaste.eu
> Accept: */*
> transfer-encoding: chunked
> x-jspaste-name: myPaste
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
<
< HTTP/1.1 409 Conflict
< content-type: application/json
< access-control-allow-origin: *
< cache-control: no-transform
< vary: Accept-Encoding
< transfer-encoding: chunked
* HTTP error before end of send, stop sending
* abort upload
<
* shutting down connection #0
{"code":1201,"message":"A document with this name already exists. Choose a different name."}De todas formas es extraño que se den las condiciones, ya que la mayoría de clientes envían Content-Length y no incluyen Transfer-Encoding, siempre se puede hacer DELETE o esperar al sweeper para que se libere el nombre.
Metadata
Metadata
Assignees
Labels
No labels