WebApp.getCurrent().getCrumbIssuer().issueCrumb() ).append("',[");
WebApp.getCurrent().getCrumbIssuer().issueCrumb() ).append("',[");
WebApp.getCurrent().getCrumbIssuer().issueCrumb() ).append("',[");
public void doIndex(StaplerRequest req,StaplerResponse rsp) throws IOException { rsp.setContentType("text/html"); String crumb = req.getWebApp().getCrumbIssuer().issueCrumb(); PrintWriter w = rsp.getWriter(); w.println("<html><body><script src='prototype'></script><script src='script'></script>"); w.println("<script>var v = makeStaplerProxy('/','"+crumb+"',['foo','bar']);var callback = function(t){var x=t.responseObject();alert(typeof(x)+':'+x)};</script>"); w.println("</body></html>"); }
public boolean doDispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IllegalAccessException, InvocationTargetException, ServletException, IOException { if (!req.isJavaScriptProxyCall()) return false; req.stapler.getWebApp().getCrumbIssuer().validateCrumb(req,req.getHeader("Crumb")); Dispatcher.anonymizedTraceEval(req, rsp, node, "%s#%s", f.getName()); if(traceable()) trace(req,rsp,"-> <%s>.%s(...)",node, f.getName()); JSONArray jsargs = JSONArray.fromObject(IOUtils.toString(req.getReader())); Object[] args = new Object[jsargs.size()]; Class[] types = f.getParameterTypes(); Type[] genericTypes = f.getGenericParameterTypes(); if (args.length != types.length) { throw new IllegalArgumentException("argument count mismatch between " + jsargs + " and " + Arrays.toString(genericTypes)); } for (int i=0; i<args.length; i++) args[i] = req.bindJSON(genericTypes[i],types[i],jsargs.get(i)); return f.bindAndInvokeAndServeResponse(node,req,rsp,args); }
public boolean doDispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IllegalAccessException, InvocationTargetException, ServletException, IOException { if (!req.isJavaScriptProxyCall()) return false; req.stapler.getWebApp().getCrumbIssuer().validateCrumb(req,req.getHeader("Crumb")); Dispatcher.anonymizedTraceEval(req, rsp, node, "%s#%s", f.getName()); if(traceable()) trace(req,rsp,"-> <%s>.%s(...)",node, f.getName()); JSONArray jsargs = JSONArray.fromObject(IOUtils.toString(req.getReader())); Object[] args = new Object[jsargs.size()]; Class[] types = f.getParameterTypes(); Type[] genericTypes = f.getGenericParameterTypes(); if (args.length != types.length) { throw new IllegalArgumentException("argument count mismatch between " + jsargs + " and " + Arrays.toString(genericTypes)); } for (int i=0; i<args.length; i++) args[i] = req.bindJSON(genericTypes[i],types[i],jsargs.get(i)); return f.bindAndInvokeAndServeResponse(node,req,rsp,args); }
public boolean doDispatch(RequestImpl req, ResponseImpl rsp, Object node) throws IllegalAccessException, InvocationTargetException, ServletException, IOException { if (!req.isJavaScriptProxyCall()) return false; req.stapler.getWebApp().getCrumbIssuer().validateCrumb(req,req.getHeader("Crumb")); if(traceable()) trace(req,rsp,"-> <%s>.%s(...)",node, f.getName()); JSONArray jsargs = JSONArray.fromObject(IOUtils.toString(req.getReader())); Object[] args = new Object[jsargs.size()]; Class[] types = f.getParameterTypes(); Type[] genericTypes = f.getParameterTypes(); for (int i=0; i<args.length; i++) args[i] = req.bindJSON(genericTypes[i],types[i],jsargs.get(i)); f.bindAndInvokeAndServeResponse(node,req,rsp,args); return true; }