[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: itype 3 as generic status Re: To evolve or not to evolve



It was thus said that the Great Cameron Kaiser once stated:
> >   I've gone through the code for my gopher server [1] and there are four
> > error types I send a type 3 for:
> > 
> > 	Redirects (using my hack)
> > 	Gone (again, using my hack)
> > 	Bad Request (couldn't parse the selector)
> > 	Selector not found (generally, for any other error that may happen)
> > 
> >   This is one area where gopher is seriously lacking.
> 
> So it sounds like we need pseudoports 301, 410, 400 and 404 (might as well use
> the HTTP codes, they're as good as any). Maybe a 500 for a server down message.
> For the redirect, how do you tell the user where to go? A single selectable item?

  I'm not a fan of this (I do like the redirection idea).

> This doesn't help for the non-menu case but this is still very helpful to me
> running a bot. Pruning dead selectors on still existing sites in the Veronica-2
> database is currently its worst implemented feature and often requires me doing
> manual cleanup or sometimes simply blowing away an entire site and reindexing
> it from scratch. This would give me a programmatic way to remove tree "limbs"
> at the menu level and save a lot of headache.

  Error reporting seems to be very hit-or-miss with gopher.  I've run a few
requests against some gopher servers with a non-existant selector, and some
of the results I've gotten are:

---[ first sample ]---
3The selected resource doesn't exist!	fake	fake	0
iThe selected resource cannot be located.	fake	fake	0
.

---[ commentary ]----

The selector isn't the one I passed in.  On my gopher client (homebrew) this
renders as a gopher menu if I'm expecting one; otherwise a text file (if
expecting type 0) and either downloading to passing the results to an
external program for other types.

---[ second sample ]---
Error: File or directory not found!

---[ commentary ]---

Is this correct even per RFC-1436??

---[ third sample ]---
1tmp	/x/tmp/	1436.ninja	70
.

---[ commentary ]---

The eagle eyed might know what site I hit, and I was not expecting this
result.  The selector I passed I don't think exists, no matter what I use,
it's prepended with a '/' and appended with '/tmp/'.  A wierd way to handle
errors.

---[ fourth sample ]----
3 '/x' doesn't exist!		error.host	1
i This resource cannot be located.		error.host	1
.

---[ commentary ]---
I didn't send '/x', but just 'x'.  What's with gopher servers assuming a
leading slash?  That's almost as bad as clients that do that.

---[ fifth sample ]---
3Happy helping ☃ here: Sorry, your selector does not start with / or contains '..'. That's illegal here.	Err	localhos70
.

---[ commentary ]---
Seriously, what's with the obsession with leading slashes?

  Anyway, it's all a bit of a mess.  It is worth even trying to fix it?

  -spc



> -- 
> ------------------------------------ personal: http://www.cameronkaiser.com/ --
>   Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser@floodgap.com
> -- Swirly Photoshop Magic! -- Strong Bad #150 ---------------------------------


Reply to: