Package org.apache.wicket.protocol.http

Examples of org.apache.wicket.protocol.http.WebResponse


      session.replaceSession();
      session.setUser(user);

      // Set Cookie
      if (app().settings().getBoolean(Keys.web.allowCookieAuthentication, false)) {
        WebResponse response = (WebResponse) getRequestCycle().getResponse();
        app().authentication().setCookie(response.getHttpServletResponse(), user);
      }

      if (!session.continueRequest()) {
        PageParameters params = getPageParameters();
        if (params == null) {
View Full Code Here


        user.password = password;
        try {
          app().gitblit().reviseUser(user.username, user);
          if (app().settings().getBoolean(Keys.web.allowCookieAuthentication, false)) {
            WebResponse response = (WebResponse) getRequestCycle().getResponse();
            app().authentication().setCookie(response.getHttpServletResponse(), user);
          }
        } catch (GitBlitException e) {
          error(e.getMessage());
          return;
        }
View Full Code Here

      public void detach(RequestCycle requestCycle) {
      }

      @Override
      public void respond(RequestCycle requestCycle) {
        WebResponse response = (WebResponse) requestCycle.getResponse();

        final String repositoryName = WicketUtils.getRepositoryName(params);
        RepositoryModel repository = app().repositories().getRepositoryModel(repositoryName);
        String objectId = WicketUtils.getObject(params).toLowerCase();
        if (objectId.endsWith(".json")) {
          objectId = objectId.substring(0, objectId.length() - ".json".length());
        }
        long id = Long.parseLong(objectId);
        TicketModel ticket = app().tickets().getTicket(repository, id);

        String content = TicketSerializer.serialize(ticket);
        contentType = "application/json; charset=UTF-8";
        response.setContentType(contentType);
        try {
          response.getOutputStream().write(content.getBytes("UTF-8"));
        } catch (Exception e) {
          logger.error("Failed to write text response", e);
        }
      }
    });
View Full Code Here

      public void detach(RequestCycle requestCycle) {
      }

      @Override
      public void respond(RequestCycle requestCycle) {
        WebResponse response = (WebResponse) requestCycle.getResponse();

        final String repositoryName = WicketUtils.getRepositoryName(params);
        final String objectId = WicketUtils.getObject(params);
        final String blobPath = WicketUtils.getPath(params);

        String[] encodings = getEncodings();
        GitBlitWebSession session = GitBlitWebSession.get();
        UserModel user = session.getUser();

        RepositoryModel model = app().repositories().getRepositoryModel(user, repositoryName);
        if (model == null) {
          // user does not have permission
          error(getString("gb.canNotLoadRepository") + " " + repositoryName);
          redirectToInterceptPage(new RepositoriesPage());
          return;
        }

        Repository r = app().repositories().getRepository(repositoryName);
        if (r == null) {
          error(getString("gb.canNotLoadRepository") + " " + repositoryName);
          redirectToInterceptPage(new RepositoriesPage());
          return;
        }

        if (StringUtils.isEmpty(blobPath)) {
          // objectid referenced raw view
          byte [] binary = JGitUtils.getByteContent(r, objectId);
          if (binary == null) {
            final String objectNotFound = MessageFormat.format("Raw page failed to find object {0} in {1}",
                objectId, repositoryName);
            logger.error(objectNotFound);
            throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, objectNotFound);
          }
          contentType = "application/octet-stream";
          response.setContentType(contentType);
          response.setContentLength(binary.length);
          try {
            response.getOutputStream().write(binary);
          } catch (Exception e) {
            logger.error("Failed to write binary response", e);
          }
        } else {
          // standard raw blob view
          RevCommit commit = JGitUtils.getCommit(r, objectId);
          if (commit == null) {
            final String commitNotFound = MessageFormat.format("Raw page failed to find commit {0} in {1}",
                objectId, repositoryName);
            logger.error(commitNotFound);
            throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, commitNotFound);
          }

          String filename = blobPath;
          if (blobPath.indexOf('/') > -1) {
            filename = blobPath.substring(blobPath.lastIndexOf('/') + 1);
          }

          String extension = null;
          if (blobPath.lastIndexOf('.') > -1) {
            extension = blobPath.substring(blobPath.lastIndexOf('.') + 1);
          }

          // Map the extensions to types
          Map<String, Integer> map = new HashMap<String, Integer>();
          for (String ext : app().settings().getStrings(Keys.web.imageExtensions)) {
            map.put(ext.toLowerCase(), 2);
          }
          for (String ext : app().settings().getStrings(Keys.web.binaryExtensions)) {
            map.put(ext.toLowerCase(), 3);
          }

          final String blobNotFound = MessageFormat.format("Raw page failed to find blob {0} in {1} @ {2}",
              blobPath, repositoryName, objectId);

          if (extension != null) {
            int type = 0;
            if (map.containsKey(extension)) {
              type = map.get(extension);
            }
            switch (type) {
            case 2:
              // image blobs
              byte[] image = JGitUtils.getByteContent(r, commit.getTree(), blobPath, true);
              if (image == null) {
                logger.error(blobNotFound);
                throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound);
              }
              contentType = "image/" + extension.toLowerCase();
              response.setContentType(contentType);
              response.setContentLength(image.length);
              try {
                response.getOutputStream().write(image);
              } catch (IOException e) {
                logger.error("Failed to write image response", e);
              }
              break;
            case 3:
              // binary blobs (download)
              byte[] binary = JGitUtils.getByteContent(r, commit.getTree(), blobPath, true);
              if (binary == null) {
                logger.error(blobNotFound);
                throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound);
              }
              contentType = "application/octet-stream";
              response.setContentLength(binary.length);
              response.setContentType(contentType);

                try {
                  WebRequest request = (WebRequest) requestCycle.getRequest();
                  String userAgent = request.getHttpServletRequest().getHeader("User-Agent");

                if (userAgent != null && userAgent.indexOf("MSIE 5.5") > -1) {
                      response.setHeader("Content-Disposition", "filename=\""
                          +  URLEncoder.encode(filename, "UTF-8") + "\"");
                } else if (userAgent != null && userAgent.indexOf("MSIE") > -1) {
                      response.setHeader("Content-Disposition", "attachment; filename=\""
                          +  URLEncoder.encode(filename, "UTF-8") + "\"");
                } else {
                    response.setHeader("Content-Disposition", "attachment; filename=\""
                          + new String(filename.getBytes("UTF-8"), "latin1") + "\"");
                }
              }
              catch (UnsupportedEncodingException e) {
                response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
              }

              try {
                response.getOutputStream().write(binary);
              } catch (IOException e) {
                logger.error("Failed to write binary response", e);
              }
              break;
            default:
              // plain text
              String content = JGitUtils.getStringContent(r, commit.getTree(),
                  blobPath, encodings);
              if (content == null) {
                logger.error(blobNotFound);
                throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound);
              }
              contentType = "text/plain; charset=UTF-8";
              response.setContentType(contentType);
              try {
                response.getOutputStream().write(content.getBytes("UTF-8"));
              } catch (Exception e) {
                logger.error("Failed to write text response", e);
              }
            }

          } else {
            // plain text
            String content = JGitUtils.getStringContent(r, commit.getTree(), blobPath,
                encodings);
            if (content == null) {
              logger.error(blobNotFound);
              throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound);
            }
            contentType = "text/plain; charset=UTF-8";
            response.setContentType(contentType);
            try {
              response.getOutputStream().write(content.getBytes("UTF-8"));
            } catch (Exception e) {
              logger.error("Failed to write text response", e);
            }
          }
        }
View Full Code Here

      // server config change
      when = app().getBootDate();
    }

    int expires = app().settings().getInteger(Keys.web.pageCacheExpires, 0);
    WebResponse response = (WebResponse) getResponse();
    response.setLastModifiedTime(Time.valueOf(when));
    response.setDateHeader("Expires", System.currentTimeMillis() + Duration.minutes(expires).getMilliseconds());
  }
View Full Code Here

        user.password = password;
        try {
          app().gitblit().reviseUser(user.username, user);
          if (app().settings().getBoolean(Keys.web.allowCookieAuthentication, false)) {
            WebRequest request = (WebRequest) getRequestCycle().getRequest();
            WebResponse response = (WebResponse) getRequestCycle().getResponse();
            app().authentication().setCookie(request.getHttpServletRequest(),
                response.getHttpServletResponse(), user);
          }
        } catch (GitBlitException e) {
          error(e.getMessage());
          return;
        }
View Full Code Here

    // Determine encoding
    final String encoding = app.getRequestCycleSettings().getResponseRequestEncoding();

    // Set content type based on markup type for page
    final WebResponse response = (WebResponse)requestCycle.getResponse();
    response.setCharacterEncoding(encoding);
    response.setContentType("text/xml; charset=" + encoding);

    // Make sure it is not cached by a client
    response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
    response.setHeader("Cache-Control", "no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");

    response.write("<?xml version=\"1.0\" encoding=\"");
    response.write(encoding);
    response.write("\"?>");
    response.write("<ajax-response>");

    // invoke onbeforerespond event on listeners
    fireOnBeforeRespondListeners();

    // normal behavior
    it = prependJavascripts.iterator();
    while (it.hasNext())
    {
      String js = (String)it.next();
      respondInvocation(response, js);
    }

    // process added components
    respondComponents(response);

    fireOnAfterRespondListeners(response);

    // execute the dom ready javascripts as first javascripts
    // after component replacement
    it = domReadyJavascripts.iterator();
    while (it.hasNext())
    {
      String js = (String)it.next();
      respondInvocation(response, js);
    }
    it = appendJavascripts.iterator();
    while (it.hasNext())
    {
      String js = (String)it.next();
      respondInvocation(response, js);
    }

    response.write("</ajax-response>");
  }
View Full Code Here

  {
    super.configureResponse();

    if (getWebRequestCycle().getResponse() instanceof WebResponse)
    {
      final WebResponse response = getWebRequestCycle().getWebResponse();
      setHeaders(response);
    }
  }
View Full Code Here

        // back button + de filter => WicketRuntimeException: component filterPanel:filterNames:1:filterValues:2:filterValueLink not found on page de.jetwick.ui.HomePage
        // http://www.richardnichols.net/2010/03/apache-wicket-force-page-reload-to-fix-ajax-back/
        // http://blogs.atlassian.com/developer/2007/12/cachecontrol_nostore_considere.html

        // TODO M2.1
        WebResponse response = getWebRequestCycle().getWebResponse();
        response.setHeader("Cache-Control", "no-cache, max-age=0,must-revalidate, no-store");
    }
View Full Code Here

        // http://www.richardnichols.net/2010/03/apache-wicket-force-page-reload-to-fix-ajax-back/
        // http://blogs.atlassian.com/developer/2007/12/cachecontrol_nostore_considere.html

        // M1.5 org.apache.wicket.request.http.WebResponse.disableCaching()

        WebResponse response = getWebRequestCycle().getWebResponse();
        response.setHeader("Cache-Control", "no-cache, max-age=0,must-revalidate, no-store");
    }
View Full Code Here

TOP

Related Classes of org.apache.wicket.protocol.http.WebResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.