Helper method to print the APIs that will be mounted. This method is purely for printing purposes.
        This method takes in a list of Route Configurations and prints out the Routes grouped by path.
        Grouping routes by Function Name + Path is the bulk of the logic.

        Example output:
            Mounting Product at http://127.0.0.1:3000/path1/bar [GET, POST, DELETE]
            Mounting Product at http://127.0.0.1:3000/path2/bar [HEAD]

        :param samcli.commands.local.lib.provider.ApiProvider api_provider: API Provider that can return a list of APIs
        :param string host: Host name where the service is running
        :param int port: Port number where the service is running
        :returns list(string): List of lines that were printed to the console. Helps with testing

def _print_routes(api_provider, host, port):
        """
        Helper method to print the APIs that will be mounted. This method is purely for printing purposes.
        This method takes in a list of Route Configurations and prints out the Routes grouped by path.
        Grouping routes by Function Name + Path is the bulk of the logic.

        Example output:
            Mounting Product at http://127.0.0.1:3000/path1/bar [GET, POST, DELETE]
            Mounting Product at http://127.0.0.1:3000/path2/bar [HEAD]

        :param samcli.commands.local.lib.provider.ApiProvider api_provider: API Provider that can return a list of APIs
        :param string host: Host name where the service is running
        :param int port: Port number where the service is running
        :returns list(string): List of lines that were printed to the console. Helps with testing
        """
        grouped_api_configs = {}

        for api in api_provider.get_all():
            key = "{}-{}".format(api.function_name, api.path)

            config = grouped_api_configs.get(key, {})
            config.setdefault("methods", [])

            config["function_name"] = api.function_name
            config["path"] = api.path
            config["methods"].append(api.method)

            grouped_api_configs[key] = config

        print_lines = []
        for _, config in grouped_api_configs.items():
            methods_str = "[{}]".format(', '.join(config["methods"]))
            output = "Mounting {} at http://{}:{}{} {}".format(
                         config["function_name"],
                         host,
                         port,
                         config["path"],
                         methods_str)
            print_lines.append(output)

            LOG.info(output)

        return print_lines