[gopher] Correct error handling
Kim Holviala
kim at holviala.com
Fri May 11 13:02:09 UTC 2012
On 11.5.2012 15:48, Damien Carol wrote:
> Yes, your solution is good.
> Maybe we can check that every server and proxy handle error like this.
Think about what you just said.... and I mean, really, think about it.
Nevergonnahappen.
You cannot change existing clients or servers, ever. Whatever you plan
*has* to work with existing infrastructure.
This is the best I was able to come up with:
gopher://gophernicus.org/0/foobar.txt
gopher://gophernicus.org/1/foobar/
gopher://gophernicus.org/h/foobar.html
gopher://gophernicus.org/g/foobar.gif
None of those really exist, of course. Here the server is trying to
guess what the client wanted and presents the error accordingly. Not
foolproof at all, but it kinda works.
If anyone of you wants to change the protocol from client side so that
it's not 100% compatible with existing servers - check out Cameron's
caps.txt. That's the right way to do it - the client must probe server
properties first before assuming anything.
And if anyone is thinking about changing the server-side so that it's
not 100% compatible with existing clients... well... don't. You cannot
replace *all* existing clients, ever.
Let's take an practical example; Debian. I run several Debian Stable
servers and they all (of course) have gopher clients. Would I ever
install your patched (fixed) server or client? No. Never. Not gonna
happen, ever. I would just "apt-get install" whatever is in the offical
stable repos, and in Debian's case it might take years before your
patches are available. And that's coming from someone who actually
*likes* gopher.
- Kim
More information about the Gopher-Project
mailing list