Repository URL to install this package:
| 
      
     
      
        
        
        Version: 
        
         
  
        
    
          
          0.8.1  ▾
        
         
  
      
        
      
  
      
  
     | 
try:
    from typing import Dict, Optional, Tuple
    from supertenant.superbrain import ActionDict, SpanID
except ImportError:
    pass
from supertenant import consts
from supertenant.supermeter.data import HTTPData
from supertenant.supermeter.managers.basic_manager import BaseManager
class HTTPManager(BaseManager):
    def __init__(self):
        # type: () -> None
        super(HTTPManager, self).__init__()
    @classmethod
    def open_span(cls, data):
        # type: (HTTPData) -> Tuple[Optional[SpanID], Optional[ActionDict], Optional[int]]
        span_type = data.get_span_type()
        if span_type is None:
            raise Exception("expected a span_type")
        return super(HTTPManager, cls).open_span_with_type(span_type, data)
    @classmethod
    def get_headers_overrides(cls, span_id):
        # type: (SpanID) -> Dict[str, str]
        headers_overrides = {}  # type: Dict[str, str]
        override_keys_string = super(HTTPManager, cls).get_span_label(
            span_id, consts.LABEL_SUPERTENANT_ACTION_OVERRIDE_HTTP_HEADERS
        )
        if override_keys_string is None or override_keys_string == "":
            return headers_overrides
        override_keys = override_keys_string.split(",")
        for override_key in override_keys:
            override_value = super(HTTPManager, cls).get_span_label(span_id, HTTPData.get_header_label(override_key))
            if override_value is not None and override_value != "":
                headers_overrides[override_key] = override_value
        return headers_overrides