prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add more context to "Easy vs Secure" prompt
  Right now you get this prompt for redirect
  
  ```
  Please choose whether HTTPS access is required or optional.
  -------------------------------------------------------------------------------
  1: Easy - Allow both HTTP and HTTPS access to these sites
  2: Secure - Make all requests redirect to secure HTTPS access
  -------------------------------------------------------------------------------
  ```
  
  One confusing thing: The title asks "required or optional," but those words don't appear in either option.
  
  Also, we should provide more advice on how to choose. I.e. 
  
  ```
  1: Easy - Allow both HTTP and HTTPS access to these sites. Choose this if you haven't yet tested that your sites function properly when visited on HTTPS.
  2: Secure - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.
  ```
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `certbot/display/enhancements.py`
  Content:
  ```
  1 """Certbot Enhancement Display"""
  2 import logging
  3 
  4 import zope.component
  5 
  6 from certbot import errors
  7 from certbot import interfaces
  8 from certbot.display import util as display_util
  9 
  10 
  11 logger = logging.getLogger(__name__)
  12 
  13 # Define a helper function to avoid verbose code
  14 util = zope.component.getUtility
  15 
  16 
  17 def ask(enhancement):
  18     """Display the enhancement to the user.
  19 
  20     :param str enhancement: One of the
  21         :class:`certbot.CONFIG.ENHANCEMENTS` enhancements
  22 
  23     :returns: True if feature is desired, False otherwise
  24     :rtype: bool
  25 
  26     :raises .errors.Error: if the enhancement provided is not supported
  27 
  28     """
  29     try:
  30         # Call the appropriate function based on the enhancement
  31         return DISPATCH[enhancement]()
  32     except KeyError:
  33         logger.error("Unsupported enhancement given to ask(): %s", enhancement)
  34         raise errors.Error("Unsupported Enhancement")
  35 
  36 
  37 def redirect_by_default():
  38     """Determines whether the user would like to redirect to HTTPS.
  39 
  40     :returns: True if redirect is desired, False otherwise
  41     :rtype: bool
  42 
  43     """
  44     choices = [
  45         ("Easy", "Allow both HTTP and HTTPS access to these sites"),
  46         ("Secure", "Make all requests redirect to secure HTTPS access"),
  47     ]
  48 
  49     code, selection = util(interfaces.IDisplay).menu(
  50         "Please choose whether HTTPS access is required or optional.",
  51         choices, default=0,
  52         cli_flag="--redirect / --no-redirect", force_interactive=True)
  53 
  54     if code != display_util.OK:
  55         return False
  56 
  57     return selection == 1
  58 
  59 
  60 DISPATCH = {
  61     "redirect": redirect_by_default
  62 }
  63
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/certbot/display/enhancements.py b/certbot/display/enhancements.py
  --- a/certbot/display/enhancements.py
  +++ b/certbot/display/enhancements.py
  @@ -42,12 +42,14 @@
   
       """
       choices = [
  -        ("Easy", "Allow both HTTP and HTTPS access to these sites"),
  -        ("Secure", "Make all requests redirect to secure HTTPS access"),
  +        ("No redirect", "Make no further changes to the webserver configuration."),
  +        ("Redirect", "Make all requests redirect to secure HTTPS access. "
  +            "Choose this for new sites, or if you're confident your site works on HTTPS. "
  +            "You can undo this change by editing your web server's configuration."),
       ]
   
       code, selection = util(interfaces.IDisplay).menu(
  -        "Please choose whether HTTPS access is required or optional.",
  +        "Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.",
           choices, default=0,
           cli_flag="--redirect / --no-redirect", force_interactive=True)
  
verification_info: {"golden_diff": "diff --git a/certbot/display/enhancements.py b/certbot/display/enhancements.py\n--- a/certbot/display/enhancements.py\n+++ b/certbot/display/enhancements.py\n@@ -42,12 +42,14 @@\n \n     \"\"\"\n     choices = [\n-        (\"Easy\", \"Allow both HTTP and HTTPS access to these sites\"),\n-        (\"Secure\", \"Make all requests redirect to secure HTTPS access\"),\n+        (\"No redirect\", \"Make no further changes to the webserver configuration.\"),\n+        (\"Redirect\", \"Make all requests redirect to secure HTTPS access. \"\n+            \"Choose this for new sites, or if you're confident your site works on HTTPS. \"\n+            \"You can undo this change by editing your web server's configuration.\"),\n     ]\n \n     code, selection = util(interfaces.IDisplay).menu(\n-        \"Please choose whether HTTPS access is required or optional.\",\n+        \"Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.\",\n         choices, default=0,\n         cli_flag=\"--redirect / --no-redirect\", force_interactive=True)\n", "issue": "Add more context to \"Easy vs Secure\" prompt\nRight now you get this prompt for redirect\n\n```\nPlease choose whether HTTPS access is required or optional.\n-------------------------------------------------------------------------------\n1: Easy - Allow both HTTP and HTTPS access to these sites\n2: Secure - Make all requests redirect to secure HTTPS access\n-------------------------------------------------------------------------------\n```\n\nOne confusing thing: The title asks \"required or optional,\" but those words don't appear in either option.\n\nAlso, we should provide more advice on how to choose. I.e. \n\n```\n1: Easy - Allow both HTTP and HTTPS access to these sites. Choose this if you haven't yet tested that your sites function properly when visited on HTTPS.\n2: Secure - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.\n```\n\n", "before_files": [{"content": "\"\"\"Certbot Enhancement Display\"\"\"\nimport logging\n\nimport zope.component\n\nfrom certbot import errors\nfrom certbot import interfaces\nfrom certbot.display import util as display_util\n\n\nlogger = logging.getLogger(__name__)\n\n# Define a helper function to avoid verbose code\nutil = zope.component.getUtility\n\n\ndef ask(enhancement):\n    \"\"\"Display the enhancement to the user.\n\n    :param str enhancement: One of the\n        :class:`certbot.CONFIG.ENHANCEMENTS` enhancements\n\n    :returns: True if feature is desired, False otherwise\n    :rtype: bool\n\n    :raises .errors.Error: if the enhancement provided is not supported\n\n    \"\"\"\n    try:\n        # Call the appropriate function based on the enhancement\n        return DISPATCH[enhancement]()\n    except KeyError:\n        logger.error(\"Unsupported enhancement given to ask(): %s\", enhancement)\n        raise errors.Error(\"Unsupported Enhancement\")\n\n\ndef redirect_by_default():\n    \"\"\"Determines whether the user would like to redirect to HTTPS.\n\n    :returns: True if redirect is desired, False otherwise\n    :rtype: bool\n\n    \"\"\"\n    choices = [\n        (\"Easy\", \"Allow both HTTP and HTTPS access to these sites\"),\n        (\"Secure\", \"Make all requests redirect to secure HTTPS access\"),\n    ]\n\n    code, selection = util(interfaces.IDisplay).menu(\n        \"Please choose whether HTTPS access is required or optional.\",\n        choices, default=0,\n        cli_flag=\"--redirect / --no-redirect\", force_interactive=True)\n\n    if code != display_util.OK:\n        return False\n\n    return selection == 1\n\n\nDISPATCH = {\n    \"redirect\": redirect_by_default\n}\n", "path": "certbot/display/enhancements.py"}], "after_files": [{"content": "\"\"\"Certbot Enhancement Display\"\"\"\nimport logging\n\nimport zope.component\n\nfrom certbot import errors\nfrom certbot import interfaces\nfrom certbot.display import util as display_util\n\n\nlogger = logging.getLogger(__name__)\n\n# Define a helper function to avoid verbose code\nutil = zope.component.getUtility\n\n\ndef ask(enhancement):\n    \"\"\"Display the enhancement to the user.\n\n    :param str enhancement: One of the\n        :class:`certbot.CONFIG.ENHANCEMENTS` enhancements\n\n    :returns: True if feature is desired, False otherwise\n    :rtype: bool\n\n    :raises .errors.Error: if the enhancement provided is not supported\n\n    \"\"\"\n    try:\n        # Call the appropriate function based on the enhancement\n        return DISPATCH[enhancement]()\n    except KeyError:\n        logger.error(\"Unsupported enhancement given to ask(): %s\", enhancement)\n        raise errors.Error(\"Unsupported Enhancement\")\n\n\ndef redirect_by_default():\n    \"\"\"Determines whether the user would like to redirect to HTTPS.\n\n    :returns: True if redirect is desired, False otherwise\n    :rtype: bool\n\n    \"\"\"\n    choices = [\n        (\"No redirect\", \"Make no further changes to the webserver configuration.\"),\n        (\"Redirect\", \"Make all requests redirect to secure HTTPS access. \"\n            \"Choose this for new sites, or if you're confident your site works on HTTPS. \"\n            \"You can undo this change by editing your web server's configuration.\"),\n    ]\n\n    code, selection = util(interfaces.IDisplay).menu(\n        \"Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.\",\n        choices, default=0,\n        cli_flag=\"--redirect / --no-redirect\", force_interactive=True)\n\n    if code != display_util.OK:\n        return False\n\n    return selection == 1\n\n\nDISPATCH = {\n    \"redirect\": redirect_by_default\n}\n", "path": "certbot/display/enhancements.py"}]}