Log could be more helpful when configuring witness URLs
It seems that the log is a bit picky about the witness URLs. More specifically, it look likes it doesn't like trailing slashes
For example, this works:
witness hremora.n621.de ebcdeb78e7fdb2ef9227b2c1ef11e94600b55b4d6d9a57877e31ee89e59adc36 https://remora.n621.de
But this doesn't:
witness hremora.n621.de ebcdeb78e7fdb2ef9227b2c/1ef11e94600b55b4d6d9a57877e31ee89e59adc36 https://remora.n621.de/
and the logged error is not super helpful IMHO:
querying witness "https://remora.n621.de/" failed: (405) server: "Method Not Allowed\n"
I haven't looked at the code but in retrospect I assume it tries to request https://remora.n621.de//add-checkpoint instead of https://remora.n621.de/add-checkpoint?
I wonder if it would be fine to be a bit lenient here and allow URLs with or without the trailing slash. The only drawback I can think of is that it would choke on a witness that intentionally uses two consecutive slashes (e.g. https://witness.example.org//add-checkpoint) which feels like an unlikely edge case (AFAIK is a valid URL though).
Alternatively, it might help if the log message gave the actual add-checkpoint URL, as it would make it easier to spot the issue.
E.g.
querying witness "https://remora.n621.de//add-checkpoint" failed: (405) server: "Method Not Allowed\n"