← Back to team overview

libravatar-fans team mailing list archive

Absence on 2018-11-25

 

Hello everyone,

I will not be able to attend our next meeting so here is a list of elements of the Libravatar API for which the implementations diverge. If you can discuss them a bit so we can choose which behaviour is correct we could then have a more robust documentation.

So:

* What to do if the input hash is too small or too big ?

  + ivatar returns an HTML document, the home page ;
  + libravatar and libravatar.cgi both return the file nobody.png.

* What to do if the size option is supplied but has no value ?

  + ivatar and libravatar both return an avatar of the default size ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the size option is supplied but the value is not an integer ?

  + ivatar and libravatar both return an avatar of the default size ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the size option is supplied but the value is 0 ?

  + ivatar and libravatar both return an avatar of the default size ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the size option is supplied but the value is negative ?

  + ivatar crashes (issue #21) ;
  + libravatar returns an avatar of the default size ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the size option is supplied but the value is too big ?

  + ivatar returns an avatar of the maximum allowed size (512) ;
  + libravatar returns an avatar of the requested size ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the default option is supplied but has no value ?

  + ivatar and libravatar both return the user's avatar ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the default option is supplied but has an unhandled value (such as d=unicorn) ?

  + ivatar and libravatar both return the user's avatar ;
  + libravatar.cgi returns the HTTP status code 400.

* What to do if the default option is supplied but has an unhandled value (such as d=unicorn) and the forcedefault option is set to true ?

  + ivatar returns an HTML document, the home page ;
  + libravatar doesn't implement forcedefault ;
  + libravatar.cgi returns the HTTP status code 400.

As an optional point: Should the list of possible value for the default option be explorable by the client ? I think an HTTP request with the OPTIONS verb on the /avatar resource could do the trick.

Regards.


Follow ups