package com.limegroup.gnutella.lws.server;
import java.io.IOException;
import java.util.Map;
import org.limewire.lws.server.LWSDispatcherSupport;
import com.limegroup.gnutella.util.Tagged;
import com.limegroup.gnutella.util.URLDecoder;
public final class LWSUtil {
private LWSUtil() {}
/**
* Looks for an argument with <code>name</code> in <code>args</code> and
* returns a tagged value, where {@link Tagged#isValid()} is
* <code>true</code> is this value was found. The action is used to make
* an error message, which is contained in {@link Tagged#getValue()} is not
* found.
*/
public static Tagged<String> getArg(Map<String, String> args, String name, String action) {
String res = args.get(name);
if (res == null || res.equals("")) {
//String detail = "Invalid '" + name + "' while " + action;
return new Tagged<String>(LWSDispatcherSupport.ErrorCodes.MISSING_PARAMETER, false);
}
String result = res;
try {
result = URLDecoder.decode(res);
} catch (IOException e) {
// no the end of the world
}
return new Tagged<String>(result, true);
}
}