docs: def do_GET(self):
          """
          Process validation GET requests.
  
          All modes of validation (OTP, OATH and PWHASH) must be explicitly
          enabled in `args' to be allowed.
          """
          if self.path.startswith(args.serve_url):
              res = None
              log_res = None
              mode = None
              params = urlparse.parse_qs(self.path[len(args.serve_url):])
              if "otp" in params:
                  if args.mode_short_otp:
                      # YubiKey internal db OTP in KSM mode
                      mode = 'YubiKey OTP (short)'
                      res = validate_yubikey_otp_short(self, params)
                  elif args.mode_otp:
                      # YubiKey internal db OTP validation 2.0
                      mode = 'YubiKey OTP'
                      res = validate_yubikey_otp(self, params)
                      #status = [x for x in res.split('\n') if x.startswith("status=")]
                      #if len(status) == 1:
                      #    res = status[0][7:]
                      log_res = '&'.join(res.split('\n'))
                  else:
                      res = "ERR 'otp/otp2' disabled"
              elif "hotp" in params:
                  if args.mode_hotp:
                      mode = 'OATH-HOTP'
                      res = validate_oath_hotp(self, params)
                  else:
                      res = "ERR 'hotp' disabled"
              elif "totp" in params:
                  if args.mode_totp:
                      mode = 'OATH-TOTP'
                      res = validate_oath_totp(self, params)
                  else:
                      res = "ERR 'totp' disabled"
              elif "pwhash" in params:
                  if args.mode_pwhash:
                      mode = 'Password hash'
                      res = validate_pwhash(self, params)
                  else:
                      res = "ERR 'pwhash' disabled"
  
              if not log_res:
                  log_res = res
  
              self.log_message("%s validation result: %s -> %s", mode, self.path, log_res)
  
              if res != None:
                  self.send_response(200)
                  self.send_header('Content-type', 'text/plain')
                  self.end_headers()
                  self.wfile.write(res)
                  self.wfile.write("\n")
              else:
                  self.log_error ("No validation result to '%s' (responding 403)" % (self.path))
                  self.send_response(403, 'Forbidden')
                  self.end_headers()
          else:
              self.log_error ("Bad URL '%s' - I'm serving '%s' (responding 403)" % (self.path, args.serve_url))
              self.send_response(403, 'Forbidden')
              self.end_headers()