summaryrefslogtreecommitdiff
path: root/rdflib
diff options
context:
space:
mode:
authorgitmpje <61799691+gitmpje@users.noreply.github.com>2022-12-24 13:24:12 +0100
committerGitHub <noreply@github.com>2022-12-24 13:24:12 +0100
commit36c35a801a0391c88d200c23dedb34d1913bb830 (patch)
treef5e6722c3ea38a19029d238338ff01689abb2654 /rdflib
parent0e61a7fc82bd35ff0cec800c446647fe7d9c39d5 (diff)
downloadrdflib-36c35a801a0391c88d200c23dedb34d1913bb830.tar.gz
fix: don't reuse same dict for headers in SPARQL HTTP requests
Copy kwargs dict to prevent POST headers to be used in GET request and vice versa. Co-authored-by: Mark van der Pas <mark.van.der.pas@semaku.com> Co-authored-by: Iwan Aucamp <aucampia@gmail.com>
Diffstat (limited to 'rdflib')
-rw-r--r--rdflib/plugins/stores/sparqlconnector.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/rdflib/plugins/stores/sparqlconnector.py b/rdflib/plugins/stores/sparqlconnector.py
index 55fdfd15..74196ea2 100644
--- a/rdflib/plugins/stores/sparqlconnector.py
+++ b/rdflib/plugins/stores/sparqlconnector.py
@@ -1,4 +1,5 @@
import base64
+import copy
import logging
from io import BytesIO
from typing import TYPE_CHECKING, Optional, Tuple
@@ -94,7 +95,7 @@ class SPARQLConnector(object):
headers = {"Accept": _response_mime_types[self.returnFormat]}
- args = dict(self.kwargs)
+ args = copy.deepcopy(self.kwargs)
# merge params/headers dicts
args.setdefault("params", {})
@@ -170,7 +171,7 @@ class SPARQLConnector(object):
"Content-Type": "application/sparql-update; charset=UTF-8",
}
- args = dict(self.kwargs) # other QSAs
+ args = copy.deepcopy(self.kwargs) # other QSAs
args.setdefault("params", {})
args["params"].update(params)