]> git.openstreetmap.org Git - nominatim.git/commitdiff
bdd: fix faking HTTP headers for python web frameworks
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 21 Jun 2023 09:33:42 +0000 (11:33 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 22 Jun 2023 12:00:33 +0000 (14:00 +0200)
nominatim/api/v1/helpers.py
test/bdd/steps/steps_api_queries.py

index ea7c125d7215540541bb81f4f02faeddfc592a86..325e5bc629911dc446476c1499499eb641e741dd 100644 (file)
@@ -83,7 +83,7 @@ def extend_query_parts(queryparts: Dict[str, Any], details: Dict[str, Any],
     if parsed.countries:
         queryparts['countrycodes'] = ','.join(parsed.countries)
     queryparts['exclude_place_ids'] = \
-        ','.join(chain(excluded, map(str, parsed.excluded)))
+        ','.join(chain(excluded, map(str, (e for e in parsed.excluded if e > 0))))
     if parsed.viewbox:
         queryparts['viewbox'] = ','.join(f"{c:.7g}" for c in parsed.viewbox.coords)
     if parsed.bounded_viewbox:
index 55bb2084f0060488baa80af3f70badb83cea2f56..3d3b16c76d4a365787413753bb719d96cbf44bf5 100644 (file)
@@ -111,7 +111,8 @@ def send_api_query_php(endpoint, params, context):
     LOG.debug("Environment:" + json.dumps(env, sort_keys=True, indent=2))
 
     if hasattr(context, 'http_headers'):
-        env.update(context.http_headers)
+        for k, v in context.http_headers.items():
+            env['HTTP_' + k.upper().replace('-', '_')] = v
 
     cmd = ['/usr/bin/env', 'php-cgi', '-f']
     if context.nominatim.code_coverage_path:
@@ -148,8 +149,7 @@ def add_http_header(context):
         context.http_headers = {}
 
     for h in context.table.headings:
-        envvar = 'HTTP_' + h.upper().replace('-', '_')
-        context.http_headers[envvar] = context.table[0][h]
+        context.http_headers[h] = context.table[0][h]
 
 
 @when(u'sending (?P<fmt>\S+ )?search query "(?P<query>.*)"(?P<addr> with address)?')