Skip to content

Commit 289fa25

Browse files
fix: ensure path elements are escaped
Ensure the path elements that are passed to the server are escaped. For example a "/" will be changed to "%2F" Closes: #2116
1 parent ca3b438 commit 289fa25

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

gitlab/base.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -380,10 +380,12 @@ def _compute_path(self, path: Optional[str] = None) -> Optional[str]:
380380
if self._parent is None or not self._from_parent_attrs:
381381
return path
382382

383-
data = {
384-
self_attr: getattr(self._parent, parent_attr, None)
385-
for self_attr, parent_attr in self._from_parent_attrs.items()
386-
}
383+
data: Dict[str, Optional[gitlab.utils.EncodedId]] = {}
384+
for self_attr, parent_attr in self._from_parent_attrs.items():
385+
if not hasattr(self._parent, parent_attr):
386+
data[self_attr] = None
387+
continue
388+
data[self_attr] = gitlab.utils.EncodedId(getattr(self._parent, parent_attr))
387389
self._parent_attrs = data
388390
return path.format(**data)
389391

0 commit comments

Comments
 (0)