Package com.webobjects.appserver

Examples of com.webobjects.appserver.WOResponse


            recordRequest.removeHeadersForKey(ERXRestTransactionRequestAdaptor.CLIENT_ID_HEADER_KEY);
            recordRequest.removeHeadersForKey(ERXRestTransactionRequestAdaptor.SEQUENCE_ID_HEADER_KEY);
            recordRequest.removeHeadersForKey(ERXRestTransactionRequestAdaptor.TRANSACTION_HEADER_KEY);
           
            ERXRouteRequestHandler requestHandler = (ERXRouteRequestHandler)WOApplication.application().handlerForRequest(recordRequest);
            WOResponse response = requestHandler.handleRequest(recordRequest);
            if (response.status() < 200 || response.status() > 299) {
              throw new RuntimeException("Transaction failed: " + response.contentString());
            }
          }
          editingContext.saveChanges();
        }
        finally {
View Full Code Here


   * @return a generated WOResponse
   */
  public WOResponse generateResponse() {
    boolean isStrictMode = ERXProperties.booleanForKeyWithDefault("ERXRest.strictMode", true);
   
    WOResponse response = WOApplication.application().createResponseInContext(_context);
    IERXRestWriter writer = _format.writer();
    if (writer == null) {
      throw new IllegalStateException("There is no writer for the format '" + _format.name() + "'.");
    }
    writer.appendToResponse(_responseNode, new ERXWORestResponse(response), _format.delegate(), _restContext);
    if (_headers.count() > 0) {
      for (String key : _headers.keySet()) {
        response.setHeader(_headers.objectForKey(key), key);
      }
    }
    if (("POST".equals(_context.request().method())) && (isStrictMode)) {
      response.setStatus(ERXHttpStatusCodes.CREATED);
    }
    // PR: ERXRouteResults is not extending from WOResponse, so this code can't be in ERXRouteController.processActionResults
    WOSession session = _context._session();
    if (session != null && session.storesIDsInCookies()) {
      session._appendCookieToResponse(response);
View Full Code Here

   * @param str
   *            the string to return
   * @return a WOResponse
   */
  public WOResponse stringResponse(String str) {
    WOResponse response = WOApplication.application().createResponseInContext(context());
    response.appendContentString(str);
    return response;
  }
View Full Code Here

   * @param status
   *            the HTTP status code
   * @return an error WOResponse
   */
  public WOActionResults response(int status) {
    WOResponse response = WOApplication.application().createResponseInContext(context());
    response.setStatus(status);
    return response;
  }
View Full Code Here

      if (errorMessage == null) {
        errorMessage = ERXExceptionUtilities.toParagraph(t, false);
      }
    }
    String str = format().toString(errorMessage, null, null);
    WOResponse response = stringResponse(str);
    response.setStatus(status)
    if (format().equals(ERXRestFormat.json())) {
      response.setHeader("application/json", "Content-Type");
    } else if (format().equals(ERXRestFormat.xml())) {
      response.setHeader("text/xml", "Content-Type");
    } else if (format().equals(ERXRestFormat.plist())) {
      response.setHeader("text/plist", "Content-Type");
    } else if (format().equals(ERXRestFormat.bplist())) {
      response.setHeader("application/x-plist", "Content-Type");
    } else {
      response.setHeader("application/json", "Content-Type");     
    }
    log.error("Request failed: " + request().uri(), t);
    return response;
  }
View Full Code Here

   *            the HTTP status code
   * @return an error WOResponse
   */
  public WOActionResults errorResponse(String errorMessage, int status) {
    String formattedErrorMessage = format().toString(errorMessage, null, null);
    WOResponse response = stringResponse(formattedErrorMessage);
    response.setStatus(status);
    log.error("Request failed: " + request().uri() + ", " + errorMessage);
    return response;
  }
View Full Code Here

   * @param status
   *            the HTTP status code
   * @return an error WOResponse
   */
  public WOActionResults errorResponse(int status) {
    WOResponse response = WOApplication.application().createResponseInContext(context());
    response.setStatus(status);
    log.error("Request failed: " + request().uri() + ", " + status);
    return response;
  }
View Full Code Here

   * Returns the response from a HEAD call to this controller.
   *
   * @return a head response
   */
  public WOActionResults headAction() {
    WOResponse response = WOApplication.application().createResponseInContext(context());
    format().writer().appendHeadersToResponse(null, new ERXWORestResponse(response), restContext());
    return response;
  }
View Full Code Here

  protected WOActionResults processActionResults(WOActionResults results) {
    WOContext context = context();
    WOSession session = context._session();
    // MS: This is sketchy -- should this be done in the request handler after we generate the response?
    if (results instanceof WOResponse) {
      WOResponse response = (WOResponse)results;
      if (session != null && session.storesIDsInCookies()) {
        session._appendCookieToResponse(response);
      }
    }
   
    if (_canSetHeaderForActionResults(results)) {
      String allowOrigin = accessControlAllowOrigin();
      if (allowOrigin != null) {
        _setHeaderForActionResults(allowOrigin, "Access-Control-Allow-Origin", results);
      }
    }
   
    WOActionResults processedResults = results;
    if (allowWindowNameCrossDomainTransport()) {
      String windowNameCrossDomainTransport = request().stringFormValueForKey("windowname");
      if ("true".equals(windowNameCrossDomainTransport)) {
        WOResponse response = results.generateResponse();
        String content = response.contentString();
        if (content != null) {
          content = content.replaceAll("\n", "");
          content = ERXStringUtilities.escapeJavascriptApostrophes(content);
        }
        response.setContent("<html><script type=\"text/javascript\">window.name='" + content + "';</script></html>");
        response.setHeader("text/html", "Content-Type");
        processedResults = response;
      }
    }
    if (allowJSONP()) {
      if (format().equals(ERXRestFormat.json())) {
        String callbackMethodName = request().stringFormValueForKey("callback");
        if (callbackMethodName != null) {
          WOResponse response = results.generateResponse();
          String content = response.contentString();
          if (content != null) {
            content = content.replaceAll("\n", "");
            content = ERXStringUtilities.escapeJavascriptApostrophes(content);
          }
          response.setContent(callbackMethodName + "(" + content + ");");
          response.setHeader("text/javascript", "Content-Type");
          processedResults = response;       
        }
      }
    }
    return processedResults;
View Full Code Here

    if (ERXAjaxApplication.isAjaxReplacement(request)) {
      AjaxUtils.setPageReplacementCacheKey(context, (String)valueForBinding("replaceID", component));
    }
    else if (result == null || booleanValueForBinding("ignoreActionResponse", false, component)) {
      WOResponse response = AjaxUtils.createResponse(request, context);
      String onClickServer = (String) valueForBinding("onClickServer", component);
      if (onClickServer != null) {
        AjaxUtils.appendScriptHeaderIfNecessary(request, response);
        response.appendContentString(onClickServer);
        AjaxUtils.appendScriptFooterIfNecessary(request, response);
      }
      result = response;
    }
    else {
View Full Code Here

TOP

Related Classes of com.webobjects.appserver.WOResponse

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.