Commit e1ed206 1 parent 34d84f2 commit e1ed206 Copy full SHA for e1ed206
File tree 1 file changed +22
-11
lines changed
1 file changed +22
-11
lines changed Original file line number Diff line number Diff line change 1
1
# analyzer.py
2
+ import time , gc
2
3
3
4
def analyze_payload (payload ):
4
5
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