|
|
@ -153,6 +153,7 @@ public final class HTTPDemon implements serverHandler, Cloneable {
|
|
|
|
* it can be reused for further connections
|
|
|
|
* it can be reused for further connections
|
|
|
|
* @see de.anomic.server.serverHandler#reset()
|
|
|
|
* @see de.anomic.server.serverHandler#reset()
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void reset() {
|
|
|
|
public void reset() {
|
|
|
|
this.proxyAccounts_init = false;
|
|
|
|
this.proxyAccounts_init = false;
|
|
|
|
|
|
|
|
|
|
|
@ -197,12 +198,14 @@ public final class HTTPDemon implements serverHandler, Cloneable {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String greeting() { // OBLIGATORIC FUNCTION
|
|
|
|
public String greeting() { // OBLIGATORIC FUNCTION
|
|
|
|
// a response line upon connection is send to client
|
|
|
|
// a response line upon connection is send to client
|
|
|
|
// if no response line is wanted, return "" or null
|
|
|
|
// if no response line is wanted, return "" or null
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String error(final Throwable e) { // OBLIGATORIC FUNCTION
|
|
|
|
public String error(final Throwable e) { // OBLIGATORIC FUNCTION
|
|
|
|
// return string in case of any error that occurs during communication
|
|
|
|
// return string in case of any error that occurs during communication
|
|
|
|
// is always (but not only) called if an IO-dependent exception occurrs.
|
|
|
|
// is always (but not only) called if an IO-dependent exception occurrs.
|
|
|
@ -348,11 +351,13 @@ public final class HTTPDemon implements serverHandler, Cloneable {
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Boolean EMPTY(final String arg, final Session session) throws IOException {
|
|
|
|
public Boolean EMPTY(final String arg, final Session session) throws IOException {
|
|
|
|
//System.out.println("EMPTY " + arg);
|
|
|
|
//System.out.println("EMPTY " + arg);
|
|
|
|
return (++this.emptyRequestCount > 10) ? serverCore.TERMINATE_CONNECTION : serverCore.RESUME_CONNECTION;
|
|
|
|
return (++this.emptyRequestCount > 10) ? serverCore.TERMINATE_CONNECTION : serverCore.RESUME_CONNECTION;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Boolean UNKNOWN(final String arg, final Session session) throws IOException {
|
|
|
|
public Boolean UNKNOWN(final String arg, final Session session) throws IOException {
|
|
|
|
//System.out.println("UNKNOWN " + arg);
|
|
|
|
//System.out.println("UNKNOWN " + arg);
|
|
|
|
|
|
|
|
|
|
|
@ -695,12 +700,23 @@ public final class HTTPDemon implements serverHandler, Cloneable {
|
|
|
|
while (argsString.length() > 0) {
|
|
|
|
while (argsString.length() > 0) {
|
|
|
|
eqp = argsString.indexOf('=');
|
|
|
|
eqp = argsString.indexOf('=');
|
|
|
|
if (eqp <= 0) break;
|
|
|
|
if (eqp <= 0) break;
|
|
|
|
|
|
|
|
sep = argsString.indexOf("&", eqp + 1);
|
|
|
|
|
|
|
|
if (sep > 0) {
|
|
|
|
|
|
|
|
// resulting equations are inserted into the property args with leading '&'
|
|
|
|
|
|
|
|
args.put(parseArg(argsString.substring(0, eqp)), parseArg(argsString.substring(eqp + 1, sep)));
|
|
|
|
|
|
|
|
argsString = argsString.substring(sep + 5);
|
|
|
|
|
|
|
|
argc++;
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
sep = argsString.indexOf('&', eqp + 1);
|
|
|
|
sep = argsString.indexOf('&', eqp + 1);
|
|
|
|
if (sep <= 0) break;
|
|
|
|
if (sep > 0) {
|
|
|
|
// resulting equations are inserted into the property args with leading '&'
|
|
|
|
// resulting equations are inserted into the property args with leading '&'
|
|
|
|
args.put(parseArg(argsString.substring(0, eqp)), parseArg(argsString.substring(eqp + 1, sep)));
|
|
|
|
args.put(parseArg(argsString.substring(0, eqp)), parseArg(argsString.substring(eqp + 1, sep)));
|
|
|
|
argsString = argsString.substring(sep + 1);
|
|
|
|
argsString = argsString.substring(sep + 1);
|
|
|
|
argc++;
|
|
|
|
argc++;
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// we return the number of parsed arguments
|
|
|
|
// we return the number of parsed arguments
|
|
|
|
return argc;
|
|
|
|
return argc;
|
|
|
|