nodeSolidServer / nodeSolidServer/node-solid-server
Solid server ignores content type
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
I have tried to upload various images to my POD and at some point I named it "x-jpg" instead of "x.jpg". It turns out that the solid server uses the filename extention to detect content type instead of relying on the actual content type.
Here is an example PUT operation showing the name "...270-jpg" and the content-type "image/jpeg":
PUT https://elfisk.solid.community/public/solidrc/images/Billede-30-10-2018-20.01.20-1541949270-jpg HTTP/1.1
Host: elfisk.solid.community
Connection: keep-alive
Content-Length: 257876
authorization: Bearer XXX
Origin: https://localhost:5001
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
content-type: image/jpeg
Accept: */*
Referer: https://localhost:5001/Home/Models
Accept-Encoding: gzip, deflate, br
Accept-Language: da-DK,da;q=0.9,en-US;q=0.8,en;q=0.7,sv;q=0.6,nb;q=0.5
Cookie: connect.sid=XXX
Later on I do a GET on https://elfisk.solid.community/public/solidrc/images/ which returns the document below. You can see that ".jpg" files have type "jpeg:Resource" whereas the "-jpg" files does not.
@prefix : <#>.
@prefix im: <>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
@prefix terms: <http://purl.org/dc/terms/>.
@prefix XML: <http://www.w3.org/2001/XMLSchema#>.
@prefix st: <http://www.w3.org/ns/posix/stat#>.
@prefix jpeg: <http://www.w3.org/ns/iana/media-types/image/jpeg#>.
im:
a ldp:BasicContainer, ldp:Container;
terms:modified "2018-11-11T15:14:19Z"^^XML:dateTime;
ldp:contains
<Billede-30-10-2018-19.52.49-1541949020.jpg>,
<Billede-30-10-2018-20.01.20-1541949270-jpg>;
st:mtime 1541949259.98;
st:size 4096.
<Billede-30-10-2018-19.52.49-1541949020.jpg>
a jpeg:Resource, ldp:Resource;
terms:modified "2018-11-11T15:10:11Z"^^XML:dateTime;
st:mtime 1541949011.912;
st:size 249480.
<Billede-30-10-2018-20.01.20-1541949270-jpg>
a ldp:Resource;
terms:modified "2018-11-11T15:14:22Z"^^XML:dateTime;
st:mtime 1541949262.852;
st:size 257876.
Later on the data browser goes beserk when you try to delete the "*-jpg" image as it is served as a turtle document:
GET https://elfisk.solid.community/public/solidrc/images/Billede-30-10-2018-20.01.20-1541949270-jpg HTTP/1.1
HTTP/1.1 200 OK
X-Powered-By: solid-server
Link: <Billede-30-10-2018-20.01.20-1541949270-jpg.acl>; rel="acl", <Billede-30-10-2018-20.01.20-1541949270-jpg.meta>; rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"
Content-Type: text/turtle
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 retracer la manière dont le serveur Solid gère le PUT et le GET qui suit pour les ressources dont les noms de fichier n’ont pas d’extension reconnue, en vous appuyant sur les exemples de requête et de réponse de cet issue. Reproduisez l’envoi avec Content-Type image/jpeg et vérifiez que la ressource est servie en tant que image/jpeg plutôt qu’en tant que text/turtle et qu’elle est classée de manière cohérente avec le contenu envoyé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, nodejs
- Domaine
- 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