[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