import re
def decode_cookies(cookie_string):
"""Decodes a string of cookies into a dictionary.
Handles multiple cookies separated by semicolons.
"""
cookies = {}
if not cookie_string:
return cookies
cookie_list = cookie_string.split(';') # Split into individual cookies
for cookie in cookie_list:
cookie = cookie.strip() # Remove leading/trailing whitespace
if not cookie:
continue # Skip empty cookies
if '=' not in cookie:
continue #skip cookies without value
try:
name, value = cookie.split('=', 1) # Split into name and value
name = name.strip()
value = value.strip()
cookies[name] = value
except ValueError:
# Handle cases where the cookie format is invalid
print(f"Invalid cookie format: {cookie}")
continue
return cookies
if __name__ == '__main__':
# Example usage
cookie_string = "name=john; age=30; city=New York; " \
"email=john.doe@example.com; " \
" " #Added whitespace for testing
decoded_cookies = decode_cookies(cookie_string)
print(decoded_cookies) # Output the decoded cookies as a dictionary
cookie_string2 = ""
decoded_cookies2 = decode_cookies(cookie_string2)
print(decoded_cookies2)
cookie_string3 = "invalid_cookie"
decoded_cookies3 = decode_cookies(cookie_string3)
print(decoded_cookies3)
Add your comment