Incorrect escaping of path
@phanak-sap ya está trabajando en esto.
Desde el 20/9/2024.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Greetings,
pyodata does not correctly escape the path when an entity key contains a /. For example SAP's OData service for Software Components retrieves an SC called ZFOO with the URL:
https://hostname/sap/opu/odata/sap/A4C_A2G_GHA_SC/SoftwareComponents%28%27ZFOO%27%29
But if I try to get an SC called /BAZ/FOO the URL is malformed as:
https://hostname/sap/opu/odata/sap/A4C_A2G_GHA_SC/SoftwareComponents%28%27/BAZ/FOO%27%29
but the / characters ought to be escaped as
https://hostname/sap/opu/odata/sap/A4C_A2G_GHA_SC/SoftwareComponents%28%27%2FBAZ%2FFOO%27%29
Looking at the pyodata code I can see that EntityGetRequest.get_path() is calling quote() which by default considers safe='/'. It seems to me it should override safe='' so that / characters are escaped. I am new to the pyodata code so I'm not sure if this issue might also lurk on operations other than EntityGetRequest. I'll appreciate any feedback or expansion on my analysis.
- Lenguaje dominante
- Python
- Estrellas
- 268
- Forks
- 100
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de SAP/python-pyodata
-
chore
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
SAP/python-pyodata#304 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
SAP/python-pyodata#108 ·
-
chore
SAP/python-pyodata#302 · 1 asignado ·
-
question
SAP/python-pyodata#294 · 1 comentario · 1 asignado ·
-
Chaining FilterExpressions Abiertobug
SAP/python-pyodata#280 · 13 comentarios · 1 asignado ·
Todos los issues de SAP/python-pyodata
Issues similares
-
bug ci good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
documentation
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
inmanta/inmanta-core#10835 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
sponsored
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100