Skip to content

Commit

Permalink
enable startlet test
Browse files Browse the repository at this point in the history
  • Loading branch information
avara1986 committed Sep 2, 2024
1 parent 0b0b733 commit 043269c
Showing 1 changed file with 37 additions and 37 deletions.
74 changes: 37 additions & 37 deletions ddtrace/appsec/_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
from ddtrace.appsec._metrics import _set_waf_init_metric
from ddtrace.appsec._metrics import _set_waf_updates_metric
from ddtrace.appsec._trace_utils import _asm_manual_keep
from ddtrace.appsec._utils import has_triggers
from ddtrace.constants import ORIGIN_KEY
from ddtrace.ext import SpanTypes
from ddtrace.internal import core
Expand Down Expand Up @@ -423,39 +422,40 @@ def _is_needed(self, address: str) -> bool:
return address in self._addresses_to_keep

def on_span_finish(self, span: Span) -> None:
try:
if span.span_type in {SpanTypes.WEB, SpanTypes.GRPC}:
# Force to set respond headers at the end
headers_res = core.get_item(SPAN_DATA_NAMES.RESPONSE_HEADERS_NO_COOKIES, span=span)
if headers_res:
_set_headers(span, headers_res, kind="response")

headers_req = core.get_item(SPAN_DATA_NAMES.REQUEST_HEADERS_NO_COOKIES, span=span)
if headers_req:
_set_headers(span, headers_req, kind="request", only_asm_enabled=False)

# this call is only necessary for tests or frameworks that are not using blocking
if not has_triggers(span) and _asm_request_context.in_context():
log.debug("metrics waf call")
_asm_request_context.call_waf_callback()

self._ddwaf._at_request_end()
finally:
# release asm context if it was created by the span
_asm_request_context.unregister(span)

if span.span_type not in {SpanTypes.WEB, SpanTypes.GRPC}:
return

to_delete = []
for iterspan, ctx in self._span_to_waf_ctx.items():
# delete all the ddwaf ctxs associated with this span or finished or deleted ones
if iterspan == span or iterspan.finished:
# so we don't change the dictionary size on iteration
to_delete.append(iterspan)

for s in to_delete:
try:
del self._span_to_waf_ctx[s]
except Exception: # nosec B110
pass
# try:
# if span.span_type in {SpanTypes.WEB, SpanTypes.GRPC}:
# # Force to set respond headers at the end
# headers_res = core.get_item(SPAN_DATA_NAMES.RESPONSE_HEADERS_NO_COOKIES, span=span)
# if headers_res:
# _set_headers(span, headers_res, kind="response")
#
# headers_req = core.get_item(SPAN_DATA_NAMES.REQUEST_HEADERS_NO_COOKIES, span=span)
# if headers_req:
# _set_headers(span, headers_req, kind="request", only_asm_enabled=False)
#
# # this call is only necessary for tests or frameworks that are not using blocking
# if not has_triggers(span) and _asm_request_context.in_context():
# log.debug("metrics waf call")
# _asm_request_context.call_waf_callback()
#
# self._ddwaf._at_request_end()
# finally:
# # release asm context if it was created by the span
# _asm_request_context.unregister(span)
#
# if span.span_type not in {SpanTypes.WEB, SpanTypes.GRPC}:
# return
#
# to_delete = []
# for iterspan, ctx in self._span_to_waf_ctx.items():
# # delete all the ddwaf ctxs associated with this span or finished or deleted ones
# if iterspan == span or iterspan.finished:
# # so we don't change the dictionary size on iteration
# to_delete.append(iterspan)
#
# for s in to_delete:
# try:
# del self._span_to_waf_ctx[s]
# except Exception: # nosec B110
# pass
pass

0 comments on commit 043269c

Please sign in to comment.