Skip to content

Commit 49e0668

Browse files
author
Sean Sullivan
committed
Merge branch 'feat-x-opaque-id'
2 parents 5807b53 + 86dc5e9 commit 49e0668

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

elastic_datashader/elastic.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,13 @@ def get_search_base(
179179
dsl_query = params["dsl_query"]
180180
dsl_filter = params["dsl_filter"]
181181
user = params.get("user")
182-
182+
x_opaque_id = params.get("x-opaque-id")
183183
# Connect to Elasticsearch
184184
es = Elasticsearch(
185185
elastic_hosts.split(","),
186186
verify_certs=False,
187187
timeout=900,
188-
headers=get_es_headers(headers, user),
188+
headers=get_es_headers(headers, user,x_opaque_id),
189189
)
190190

191191
# Create base search
@@ -375,11 +375,12 @@ def load_datashader_headers(header_file_path_str: Optional[str]) -> Dict[Any, An
375375

376376
return loaded_yaml
377377

378-
def get_es_headers(request_headers=None, user=None):
378+
def get_es_headers(request_headers=None, user=None,x_opaque_id=None):
379379
"""
380380
381381
:param request_headers:
382382
:param user:
383+
:param x_opaque_id:
383384
:return:
384385
"""
385386

@@ -397,7 +398,8 @@ def get_es_headers(request_headers=None, user=None):
397398
# Set runas user based off user provided
398399
if user:
399400
result["es-security-runas-user"] = user
400-
401+
if x_opaque_id:
402+
result["x-opaque-id"] = x_opaque_id
401403
if config.api_key:
402404
result["Authorization"] = f"ApiKey {config.api_key}"
403405

elastic_datashader/routers/tms.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from socket import gethostname
44
from typing import Optional
55
import time
6+
import uuid
67
from elasticsearch import Elasticsearch
78
from elasticsearch.exceptions import NotFoundError
89
from elasticsearch_dsl import Document
@@ -185,13 +186,14 @@ def generate_tile_to_cache(idx: str, x: int, y: int, z: int, params, parameter_h
185186
# If we fail, then make sure to remove the cache placeholder and unclaim the task.
186187
# Then bail and let another request have a shot at it.
187188
try:
188-
headers = get_es_headers(request_headers=request.headers, user=params["user"])
189+
x_opaque_id = str(uuid.uuid4())
190+
headers = get_es_headers(request_headers=request.headers, user=params["user"],x_opaque_id=x_opaque_id)
189191
logger.debug("Loaded input headers %s", request.headers)
190192
logger.debug("Loaded elasticsearch headers %s", headers)
191193

192194
# Get or generate extended parameters
193195
params = merge_generated_parameters(request.headers, params, idx, parameter_hash)
194-
196+
params = {**params,"x-opaque-id":x_opaque_id}
195197
base_tile_info = {
196198
'hash': parameter_hash,
197199
'idx': idx,

0 commit comments

Comments
 (0)