diff --git a/eveigb/context_processors.py b/eveigb/context_processors.py index ba5ca46..6630d00 100644 --- a/eveigb/context_processors.py +++ b/eveigb/context_processors.py @@ -1,6 +1,6 @@ def igb(request): - return { + ctx = { 'is_igb': request.is_igb, 'is_igb_trusted': request.is_igb_trusted, } - + return ctx \ No newline at end of file diff --git a/eveigb/middleware.py b/eveigb/middleware.py index 14bb439..a3fe79e 100644 --- a/eveigb/middleware.py +++ b/eveigb/middleware.py @@ -1,6 +1,29 @@ +EVE_IGB_HEADERS = [ + 'HTTP_EVE_SERVERIP', + 'HTTP_EVE_CHARNAME', + 'HTTP_EVE_CHARID', + 'HTTP_EVE_CORPNAME', + 'HTTP_EVE_CORPID', + 'HTTP_EVE_ALLIANCENAME', + 'HTTP_EVE_ALLIANCEID', + 'HTTP_EVE_REGIONNAME', + 'HTTP_EVE_CONSTELLATIONNAME', + 'HTTP_EVE_SOLARSYSTEMNAME', + 'HTTP_EVE_STATIONNAME', + 'HTTP_EVE_STATIONID', + 'HTTP_EVE_CORPROLE', + 'HTTP_EVE_SHIPNAME', + 'HTTP_EVE_SHIPTYPEID', + 'HTTP_EVE_SHIPTYPENAME', + 'HTTP_EVE_SHIPID', + 'HTTP_EVE_SOLARSYSTEMID', + 'HTTP_EVE_WARFACTIONID', +] + + class IGBMiddleware(object): """ - Middleware to detect the EVE IGB + Middleware to detect the EVE IGB, and process the provided headers """ def process_request(self, request): @@ -8,41 +31,12 @@ class IGBMiddleware(object): request.is_igb = False request.is_igb_trusted = False - header_map = [ - ('HTTP_EVE_SERVERIP', 'eve_server_ip'), - ('HTTP_EVE_CHARNAME', 'eve_charname'), - ('HTTP_EVE_CHARID', 'eve_charid'), - ('HTTP_EVE_CORPNAME', 'eve_corpname'), - ('HTTP_EVE_CORPID', 'eve_corpid'), - ('HTTP_EVE_ALLIANCENAME', 'eve_alliancename'), - ('HTTP_EVE_ALLIANCEID', 'eve_allianceid'), - ('HTTP_EVE_REGIONNAME', 'eve_regionid'), - ('HTTP_EVE_CONSTELLATIONNAME', 'eve_constellationname'), - ('HTTP_EVE_SOLARSYSTEMNAME', 'eve_systemname'), - ('HTTP_EVE_STATIONNAME', 'eve_stationname'), - ('HTTP_EVE_STATIONID', 'eve_stationid'), - ('HTTP_EVE_CORPROLE', 'eve_corprole'), - ('HTTP_EVE_SHIPNAME', 'eve_shipname'), - ('HTTP_EVE_SHIPTYPEID', 'eve_shiptypeid'), - ('HTTP_EVE_SHIPTYPENAME', 'eve_shiptypename'), - ('HTTP_EVE_SHIPID', 'eve_shipid'), - ('HTTP_EVE_SOLARSYSTEMID', 'eve_systemid'), - ('HTTP_EVE_WARFACTIONID', 'eve_warfactionid'), - ] - if 'EVE-IGB' in request.META.get('HTTP_USER_AGENT', ''): request.is_igb = True if request.META.get('HTTP_EVE_TRUSTED', 'No') == 'Yes': request.is_igb_trusted = True - for header, map in header_map: - if request.META.get(header, None): - setattr(request, map, request.META.get(header, None)) - - -def igb(request): - return { - 'is_igb': request.is_igb, - 'is_igb_trusted': request.is_igb_trusted, - } + for header in EVE_IGB_HEADERS: + if header in request.META: + setattr(request, header.replace('HTTP_', '').lower(), request.META.get(header))