nodeSolidServer / nodeSolidServer/node-solid-server
POST does not work the way it did in 4.x
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 1.8k
- Forks
- 308
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
From my testing (test attached below) I notice these differences:
POST "foo", no content-type
4.x : "foo" text/turtle
5.x : 500
POST "foo.ttl", no content-type
4.x : "foo.ttl" text/turtle
5.x : 500
POST "foo", content-type=text/turtle
4.x : "foo" text/turtle
5.x : "foo.ttl" text/turtle
POST "foo.ttl", content-type=text/turtle
4.x : "foo.ttl.ttl" text/turtle
5.x : "foo.ttl.ttl" text/turtle
Here's the test. I ran it against solid.community for 5.x and against solid.openlinksw.com:8444 for 4.x
const auth = require('solid-auth-cli')
const text = "<> a <#test>."
const idp = "https://jeffz.solid.community"
const base = idp + "/public/nss5-test/"
const file = "test-file"
async function main(){
let session = await auth.login()
console.log("Logged in as <"+session.webId+">")
console.log("Using folder <"+base+">\n")
await test({
label : "POST, no content-type",
extension : "",
contentType : ""
})
await test({
label : "POST content-type=text/turtle",
extension : "",
contentType : "text/turtle"
})
await test({
label : "POST, no content-type",
extension : ".ttl",
contentType : ""
})
}
async function test(opts){
let url = file + opts.extension
console.log(" ",opts.label,"<"+url+">")
let headers = {
link : '<http://www.w3.org/ns/ldp#Resource>; rel="type"',
slug : url,
}
if(opts.contentType) headers["Content-type"]=opts.contentType
let res = await auth.fetch( base, {
method:"POST",
body:text,
headers:headers
})
if(!res.ok){
console.log(" ",res.status,res.statusText)
return
}
let location = idp + res.headers.get("location")
res = await auth.fetch( location )
location = location.replace(base,'')
if(res.ok) console.log(
" ",
res.status,
res.headers.get("content-type"),
location
)
else console.log(" ",res.status,res.statusText)
}
main()
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter le test Node.js fourni contre le endpoint POST du serveur et comparez les résultats de status, Location et content-type pour chaque combinaison de nom de fichier et d’en-tête. C’est terminé lorsque le comportement de 5.x est corrigé ou explicitement aligné sur les résultats de 4.x présentés dans l’issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100