/** * */ package com.wifiafterconnect.handlers; import com.wifiafterconnect.ParsedHttpInput; import com.wifiafterconnect.WifiAuthParams; import com.wifiafterconnect.html.HtmlForm; import com.wifiafterconnect.html.HtmlPage; import com.wifiafterconnect.util.HttpInput; /** * @author sasha * */ public class SwitchURLHandler extends CaptivePageHandler implements CaptivePageHandler.Detection{ /* (non-Javadoc) * @see com.wifiafterconnect.handlers.CaptivePageHandler#checkParamsMissing(com.wifiafterconnect.WifiAuthParams) */ @Override public boolean checkParamsMissing(WifiAuthParams params) { return false; } /* (non-Javadoc) * @see com.wifiafterconnect.handlers.CaptivePageHandler#validateLoginForm(com.wifiafterconnect.WifiAuthParams, com.wifiafterconnect.html.HtmlForm) */ @Override public void validateLoginForm(WifiAuthParams params, HtmlForm form) { // no forms here, simply redirect to switch_url } @Override public Boolean detect(HttpInput page) { return HtmlPage.getForm(page) == null && page.getURLQueryVar("switch_url") != null; } @Override public ParsedHttpInput authenticate(ParsedHttpInput parsedPage, WifiAuthParams authParams) { ParsedHttpInput result = parsedPage.getRefresh(parsedPage.getURLQueryVar("switch_url")); if (result != null && result.hasForm()) result = null; // something went wrong setState (result!=null ? States.Success : States.Failed); return result; } }