Build a basic fuzzer for an HTTP endpoint.
Implement a function that generates a baseline request and requests formed by replacing each query parameter with each supplied mutation. Return requests in generation order, remove duplicates, and do not send network traffic.
url is a URL without a query string, params maps parameter names to string values, and mutations is a list of string payloads. Return a list of fully encoded URLs.
def fuzz_http_endpoint(url, params, mutations):