I do not think the problem is in register function or register.html. I ran them through check50 and they passed. A little detail I missed on the initial read was "got 200 in all my apology pages", all being the operative. I can merely speculate, but it is possible that the older (2017) version of the application is in play. I believe you are using the 2017 version of the distro code except for the lookup function in helpers.py
(to solve the yahoo deprecation problem). Sadly, I cannot test my theory with check50
because it is timing out. But when I run the 2017 app with only the lookup
function replaced, apology returns a 200.
The function signatures between 2017 and 2018 differ, and I believe that explains the difference.
2017: def apology(top="", bottom=""):
2018: def apology(message, code=400):
To be clear, you need to use the 2018 apology
function.
ORIGINAL RESPONSE
It can be argued that 200 is the valid response for calling apology
successfully. The autograder sees it differently. Since apology
is reporting the outcome of its caller, autograder expects 400 to indicate an error.