File tree Expand file tree Collapse file tree 1 file changed +22
-11
lines changed
Expand file tree Collapse file tree 1 file changed +22
-11
lines changed Original file line number Diff line number Diff line change 11# analyzer.py
2+ import time , gc
23
34def analyze_payload (payload ):
45 tokens = []
5- i = 0
6- while i < len (payload ):
7- if payload [i ] == "<" :
8- end_index = payload .find (">" , i )
9- if end_index != - 1 and ' ' not in payload [i + 1 :end_index ]:
10- tokens .append (payload [i :end_index + 1 ])
11- i = end_index + 1
12- continue
13- tokens .append (payload [i ])
14- i += 1
15- return tokens
6+ token_start = 0
7+ in_token = False
8+
9+ for i , char in enumerate (payload ):
10+ if char == "<" :
11+ if in_token :
12+ tokens .append (payload [token_start :i ])
13+ token_start = i
14+ in_token = True
15+ elif char == ">" and in_token :
16+ tokens .append (payload [token_start :i + 1 ])
17+ in_token = False
18+ token_start = i + 1
19+ elif not in_token and (i == len (payload ) - 1 or payload [i + 1 ] == "<" ):
20+ tokens .append (payload [token_start :i + 1 ])
21+ token_start = i + 1
22+
23+ if not in_token and token_start < len (payload ):
24+ tokens .append (payload [token_start :])
25+
26+ return tokens
You can’t perform that action at this time.
0 commit comments