/** * Returns a Hashtable of all URL parameters. * @param request contains URL parameters * @return Hashtable of all GET params. */ private Hashtable<String, String> readGET (HTTPRequest request) { Hashtable<String, String> set = new Hashtable<String, String>(); for (String key : request.getParameterNames()) { set.put(key, request.getParam(key)); } return set; }
/** * Validates whether the request contains a formPassword which matches {@link NodeClientCore#formPassword}. See the JavaDoc there for an explanation * of the purpose of this mechanism. * * <p><b>ATTENTION</b>: It is critically important to use this function when processing requests which "change the server state". Other words for this * would be requests which change your database or "write" requests. * Requests which only read values from the server don't have to validate the form password.</p> * * <p>To produce a form which already contains the password, use {@link PluginRespirator#addFormChild(freenet.support.HTMLNode, String, String)}.</p> * * @return true if the form password is valid */ protected boolean isFormPassword(HTTPRequest req) { String passwd = req.getParam("formPassword", null); if (passwd == null) passwd = req.getPartAsStringFailsafe("formPassword", 32); return (passwd != null) && passwd.equals(pluginContext.clientCore.formPassword); }
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { String requestId = req.getParam("requestId"); String originalRequestId = req.getParam("originalRequestId"); boolean result = ((SimpleToadletServer) ctx.getContainer()).pushDataManager.failover(originalRequestId, requestId); if (logMINOR) { Logger.minor(this, "Failover from:" + originalRequestId + " to:" + requestId + " with result:" + result); } writeHTMLReply(ctx, 200, "OK", result ? UpdaterConstants.SUCCESS : UpdaterConstants.FAILURE); }
Collection<String> parameterNames = request.getHttpRequest().getParameterNames(); for (String parameterName : parameterNames) { values.put(parameterName, request.getHttpRequest().getParam(parameterName));
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { if (logMINOR) { try { Logger.minor(this, "GWT:" + URLDecoder.decode(req.getParam("msg"), false)); } catch (URLEncodedFormatException e) { Logger.error(this, "Invalid GWT:"+req.getParam("msg")); } } writeHTMLReply(ctx, 200, "OK", UpdaterConstants.SUCCESS); }
private boolean parseOpennet(HTTPRequest request) { String opennetRaw; if (request.hasParameters()) { opennetRaw = request.getParam("opennet", "false"); } else { opennetRaw = request.getPartAsStringFailsafe("opennet", 5); } return Fields.stringToBool(opennetRaw, false); }
/** * {@inheritDoc} */ @Override public void execute(TemplateContext templateContext, Map<String, String> parameters) { String requestKey = parameters.get("request"); String parameter = parameters.get("parameter"); String pageKey = parameters.get("key"); if (requestKey == null) { requestKey = "request"; } if (parameter == null) { parameter = "page"; } if (pageKey == null) { pageKey = "page"; } FreenetRequest request = (FreenetRequest) templateContext.get(requestKey); String pageString = request.getHttpRequest().getParam(parameter); int page = 0; try { page = Integer.parseInt(pageString); } catch (NumberFormatException nfe1) { /* ignore. */ } templateContext.set(pageKey, page); }
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { // The anchor is used to identify the alert String anchor = HTMLDecoder.decode(req.getParam("anchor")); if (logMINOR) { Logger.minor(this, "Dismissing alert with anchor:" + anchor); } // Dismiss the alert //boolean success = ((SimpleToadletServer) ctx.getContainer()).getCore().alerts.dismissByAnchor(anchor); //TODO:it's disabled boolean success = true; writeHTMLReply(ctx, 200, "OK", success ? UpdaterConstants.SUCCESS : UpdaterConstants.FAILURE); }
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { String requestId = req.getParam("requestId"); String elementId = req.getParam("elementId"); elementId = elementId.replace(" ", "+");// This is needed, because BASE64 has '+', but it is a HTML escape for ' ' if (logMINOR) { Logger.minor(this, "Getting data for element:" + elementId); } BaseUpdateableElement node = ((SimpleToadletServer) ctx.getContainer()).pushDataManager.getRenderedElement(requestId, elementId); if (logMINOR) { Logger.minor(this, "Data got element:" + node.generateChildren()); } writeHTMLReply(ctx, 200, "OK", UpdaterConstants.SUCCESS + ":" + Base64.encodeStandard(node.getUpdaterType().getBytes("UTF-8")) + ":" + Base64.encodeStandard(node.generateChildren().getBytes("UTF-8"))); }
private FirstTimeWizardToadlet.WIZARD_PRESET parsePreset(HTTPRequest request) { String presetRaw; FirstTimeWizardToadlet.WIZARD_PRESET preset; if (request.hasParameters()) { presetRaw = request.getParam("preset"); } else { presetRaw = request.getPartAsStringFailsafe("preset", 4); } try { preset = FirstTimeWizardToadlet.WIZARD_PRESET.valueOf(presetRaw); } catch (IllegalArgumentException e) { preset = null; } return preset; }
private String sanitizeReferer(ToadletContext ctx) { // FIXME we do something similar in the GenericFilterCallback thingy? String referer = ctx.getHeaders().get("referer"); if(referer != null) { try { URI refererURI = new URI(URIPreEncoder.encode(referer)); String path = refererURI.getPath(); while(path.startsWith("/")) path = path.substring(1); if("".equals(path)) return "/"; FreenetURI furi = new FreenetURI(path); HTTPRequest req = new HTTPRequestImpl(refererURI, "GET"); String type = req.getParam("type"); referer = "/" + furi.toString(); if(type != null && type.length() > 0) referer += "?type=" + type; } catch (MalformedURLException e) { referer = "/"; Logger.normal(this, "Caught MalformedURLException on the referer : "+e.getMessage()); } catch (Throwable t) { Logger.error(this, "Caught handling referrer: "+t+" for "+referer, t); referer = null; } } return referer; }
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { String requestId = req.getParam("requestId"); boolean deleted = ((SimpleToadletServer) ctx.getContainer()).pushDataManager.leaving(requestId); if (logMINOR) { Logger.minor(this, "Page leaving. requestid:" + requestId + " deleted:" + deleted); } writeHTMLReply(ctx, 200, "OK", UpdaterConstants.SUCCESS); }
@Before public void setupTemplateContext() { when(context.get("request")).thenReturn(request); when(request.getHttpRequest()).thenReturn(httpRequest); when(httpRequest.getParam("page")).thenReturn("1"); }
/** * @param uri is unused, * @param request contains parameters. * @param ctx allows page rendering and permissions checks. * @exception ToadletContextClosedException Access is denied: uploading might be disabled overall. * The user might be denied access to this directory, * which could be their home directory. * @exception IOException Something file-related went wrong. * @see <a href="freenet/clients/http/Toadlet#findSupportedMethods()">findSupportedMethods</a> * @see "java.net.URI" * @see "<a href="freenet/clients/http/ToadletContext.html">ToadletContext</a> */ public void handleMethodGET (URI uri, HTTPRequest request, final ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { renderPage(persistenceFields(readGET(request)), request.getParam("path"), ctx, selectedValue(request)); }
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { String requestId = req.getParam("requestId"); if (logMINOR) { Logger.minor(this, "Got keepalive:" + requestId); } boolean success = ((SimpleToadletServer) ctx.getContainer()).pushDataManager.keepAliveReceived(requestId); if (success) { writeHTMLReply(ctx, 200, "OK", UpdaterConstants.SUCCESS); } else { writeHTMLReply(ctx, 200, "OK", UpdaterConstants.FAILURE); } }
public void handleMethodGET(URI uri, HTTPRequest req, ToadletContext ctx) throws ToadletContextClosedException, IOException, RedirectException { String requestId = req.getParam("requestId"); PushDataManager.UpdateEvent event = ((SimpleToadletServer) ctx.getContainer()).pushDataManager.getNextNotification(requestId); if (event != null) { String elementRequestId = event.getRequestId(); String elementId = event.getElementId(); writeHTMLReply(ctx, 200, "OK", UpdaterConstants.SUCCESS + ":" + Base64.encodeStandard(elementRequestId.getBytes("UTF-8")) + UpdaterConstants.SEPARATOR + elementId); if (logMINOR) { Logger.minor(this, "Notification got:" + event); } } else { writeHTMLReply(ctx, 200, "OK", UpdaterConstants.FAILURE); } }
private String selectedValue(HTTPRequest request) { if (request.isParameterSet(filenameField()) && (request.isParameterSet(selectDir) || request.isParameterSet(selectFile))) { //Request is a GET. return request.getParam(filenameField()); } else if (request.isPartSet(filenameField()) && (request.isPartSet(selectDir) || request.isPartSet(selectFile))) { //Request is a POST. return request.getPartAsStringFailsafe(filenameField(), MAX_POST_SIZE); } return null; }
currentStep = WIZARD_STEP.valueOf(request.getParam("step", WIZARD_STEP.WELCOME.toString())); } catch (IllegalArgumentException e) { currentStep = WIZARD_STEP.WELCOME;
String input_hashcode_string = request.getParam("peernode_hashcode"); int input_hashcode = -1; try {
public void handleMethodGET(URI uri, HTTPRequest request, ToadletContext ctx) throws ToadletContextClosedException, IOException { if (request.getParam(magicHTTPEscapeString).isEmpty()) { MultiValueTable<String, String> headers = new MultiValueTable<String, String>(); headers.put("Location", WelcomeToadlet.PATH); HTMLNode externalLinkForm = ctx.addFormChild(warnboxContent, PATH, "confirmExternalLinkForm"); final String target = request.getParam(magicHTTPEscapeString); externalLinkForm.addChild("#", l10n("confirmExternalLinkWithURL", "url", target)); externalLinkForm.addChild("br");