|
3 | 3 | import logging
|
4 | 4 | import os
|
5 | 5 | import sys
|
6 |
| -from flask import jsonify |
| 6 | +from flask import jsonify, request |
7 | 7 | from rdflib.namespace import DC
|
8 | 8 | from escape_helpers import sparql_escape
|
9 | 9 | from SPARQLWrapper import SPARQLWrapper, JSON
|
@@ -85,17 +85,29 @@ def validate_resource_type(expected_type, data):
|
85 | 85 | sparqlQuery.setTimeout(timeout)
|
86 | 86 | sparqlUpdate.setTimeout(timeout)
|
87 | 87 |
|
| 88 | +MU_HEADERS = [ |
| 89 | + "HTTP_MU_CALL_ID", |
| 90 | + "HTTP_MU_AUTH_ALLOWED_GROUPS", |
| 91 | + "HTTP_MU_AUTH_USED_GROUPS" |
| 92 | +] |
| 93 | + |
88 | 94 | def query(the_query):
|
89 | 95 | """Execute the given SPARQL query (select/ask/construct)on the tripple store and returns the results
|
90 | 96 | in the given returnFormat (JSON by default)."""
|
91 | 97 | log("execute query: \n" + the_query)
|
| 98 | + sparqlQuery.customHttpHeaders["HTTP_MU_SESSION_ID"] = session_id_header(request) |
| 99 | + for header in MU_HEADERS: |
| 100 | + sparqlQuery.customHttpHeaders[header] = request.headers.get(header) |
92 | 101 | sparqlQuery.setQuery(the_query)
|
93 | 102 | return sparqlQuery.query().convert()
|
94 | 103 |
|
95 | 104 |
|
96 | 105 | def update(the_query):
|
97 | 106 | """Execute the given update SPARQL query on the tripple store,
|
98 | 107 | if the given query is no update query, nothing happens."""
|
| 108 | + sparqlQuery.customHttpHeaders["HTTP_MU_SESSION_ID"] = session_id_header(request) |
| 109 | + for header in MU_HEADERS: |
| 110 | + sparqlQuery.customHttpHeaders[header] = request.headers.get(header) |
99 | 111 | sparqlUpdate.setQuery(the_query)
|
100 | 112 | if sparqlUpdate.isSparqlUpdateRequest():
|
101 | 113 | sparqlUpdate.query()
|
|
0 commit comments