MCPcopy Create free account
hub / github.com/bugy/script-server / parse_header

Function parse_header

src/utils/tornado_utils.py:106–146  ·  view source on GitHub ↗
(header)

Source from the content-addressed store, hash-verified

104
105
106def parse_header(header):
107 header_split = []
108 current = ''
109 current_quote = None
110 for char in header:
111 if char == '"' or char == "'":
112 if current_quote is None:
113 current_quote = char
114 elif current_quote == char:
115 current_quote = None
116 elif char == ';' and current_quote is None:
117 if current:
118 header_split.append(current)
119 current = ''
120 continue
121
122 current += char
123
124 if current:
125 header_split.append(current)
126
127 main_value = header_split[0]
128 if ':' in main_value:
129 main_value = main_value[main_value.index(':') + 1:]
130 main_value = string_utils.unwrap_quotes(main_value.strip())
131
132 sub_headers = header_split[1:]
133 sub_headers_dict = {}
134 for sub_header in sub_headers:
135 split = sub_header.split('=', 1)
136
137 if len(split) > 1:
138 key = split[0].strip()
139 value = unwrap_quotes(split[1].strip())
140 else:
141 key = sub_header.strip()
142 value = ''
143
144 sub_headers_dict[key] = value
145
146 return main_value, sub_headers_dict
147
148
149separate_io_loop = None

Calls 2

unwrap_quotesFunction · 0.90
appendMethod · 0.80