ANY client that EVER uses GET for JSON RPC is wrong. Read the HTTP spec, GETs should never have message bodies. DiabloMiner follows the HTTP specification and uses POST for all requests.
You are correct regarding the HTTP spec, of course. The LP specification is rather ambiguous at this point. However, a GET would actually make sense when the reply is a JSON-RPC notification (id: null). Then the procedure would be like this:
- The client does a simple GET on the LP URL, indicating its interest in "interruption" by notification
- Once the network finds a new block, the server replies with the fresh hash, as if the client just issued a getwork request
- The client aborts/discards the obsolete calculation and starts on the received fresh one - no need for a getwork on the main connection!
- The client re-reisters for "interruption" by starting again with the first GET step.
Of course this is just my interpretation of the LP spec. But it seems that at least poclbm agrees with me, from a quick glance at the sources.
Anyway, thanks for this nice piece of software, keep up the good work!