Source code for aw_transform.split_url_events

import logging
from typing import List

from urllib.parse import urlparse

from aw_core.models import Event

logger = logging.getLogger(__name__)


[docs]def split_url_events(events: List[Event]) -> List[Event]: for event in events: if "url" in event.data: url = event.data["url"] parsed_url = urlparse(url) event.data["$protocol"] = parsed_url.scheme event.data["$domain"] = ( parsed_url.netloc[4:] if parsed_url.netloc[:4] == "www." else parsed_url.netloc ) event.data["$path"] = parsed_url.path event.data["$params"] = parsed_url.params event.data["$options"] = parsed_url.query event.data["$identifier"] = parsed_url.fragment # TODO: Parse user, port etc aswell return events