Package ca.uhn.fhir.rest.server

Examples of ca.uhn.fhir.rest.server.EncodingUtil


      if (locationHeaders != null && locationHeaders.size() > 0) {
        String locationHeader = locationHeaders.get(0);
        parseContentLocation(retVal, locationHeader);
      }
      if (theResponseStatusCode != Constants.STATUS_HTTP_204_NO_CONTENT) {
        EncodingUtil ct = EncodingUtil.forContentType(theResponseMimeType);
        if (ct != null) {
          PushbackReader reader = new PushbackReader(theResponseReader);

          try {
            int firstByte = reader.read();
            if (firstByte == -1) {
              ourLog.debug("No content in response, not going to read");
              reader = null;
            } else {
              reader.unread(firstByte);
            }
          } catch (IOException e) {
            ourLog.debug("No content in response, not going to read", e);
            reader = null;
          }

          if (reader != null) {
            IParser parser = ct.newParser(getContext());
            OperationOutcome outcome = parser.parseResource(OperationOutcome.class, reader);
            retVal.setOperationOutcome(outcome);
          }

        } else {
View Full Code Here


      if (response != null) {
        OperationOutcome outcome = new OperationOutcome();
        if (response.getOperationOutcome() != null && response.getOperationOutcome().getIssue() != null) {
          outcome.getIssue().addAll(response.getOperationOutcome().getIssue());
        }
        EncodingUtil encoding = BaseMethodBinding.determineResponseEncoding(theRequest.getServletRequest(), theRequest.getParameters());
        theResponse.setContentType(encoding.getResourceContentType());
        IParser parser = encoding.newParser(getContext());
        parser.encodeResourceToWriter(outcome, writer);
      }
    } finally {
      writer.close();
    }
View Full Code Here

    if (narrativeMode == null) {
      narrativeMode = NarrativeModeEnum.NORMAL;
    }

    // Determine response encoding
    EncodingUtil responseEncoding = determineResponseEncoding(theRequest.getServletRequest(), params);

    // Is this request coming from a browser
    String uaHeader = theRequest.getServletRequest().getHeader("user-agent");
    boolean requestIsBrowser = false;
    if (uaHeader != null && uaHeader.contains("Mozilla")) {
View Full Code Here

    // nothing
  }
 
  @Override
  public void invokeServer(RestfulServer theServer, Request theRequest, HttpServletResponse theResponse) throws BaseServerResponseException, IOException {
    EncodingUtil encoding = BaseMethodBinding.determineResponseEncoding(theRequest.getServletRequest(), theRequest.getParameters());
    IParser parser = encoding.newParser(getContext());
    IResource resource = parser.parseResource(theRequest.getInputReader());

    Object[] params = new Object[getParameters().size()];
    for (int i = 0; i < getParameters().size(); i++) {
      IParameter param = getParameters().get(i);
View Full Code Here

  public static EncodingUtil determineResponseEncoding(HttpServletRequest theRequest, Map<String, String[]> theParams) {
    String[] format = theParams.remove(Constants.PARAM_FORMAT);
    if (format != null) {
      for (String nextFormat : format) {
        EncodingUtil retVal = Constants.FORMAT_VAL_TO_ENCODING.get(nextFormat);
        if (retVal != null) {
          return retVal;
        }
      }
    }

    Enumeration<String> acceptValues = theRequest.getHeaders("Accept");
    if (acceptValues != null) {
      while (acceptValues.hasMoreElements()) {
        EncodingUtil retVal = Constants.FORMAT_VAL_TO_ENCODING.get(acceptValues.nextElement());
        if (retVal != null) {
          return retVal;
        }
      }
    }
View Full Code Here

      if (locationHeaders != null && locationHeaders.size() > 0) {
        String locationHeader = locationHeaders.get(0);
        parseContentLocation(retVal, locationHeader);
      }
      if (theResponseStatusCode != Constants.STATUS_HTTP_204_NO_CONTENT) {
        EncodingUtil ct = EncodingUtil.forContentType(theResponseMimeType);
        if (ct != null) {
          PushbackReader reader = new PushbackReader(theResponseReader);

          try {
            int firstByte = reader.read();
            if (firstByte == -1) {
              ourLog.debug("No content in response, not going to read");
              reader = null;
            } else {
              reader.unread(firstByte);
            }
          } catch (IOException e) {
            ourLog.debug("No content in response, not going to read", e);
            reader = null;
          }

          if (reader != null) {
            IParser parser = ct.newParser(getContext());
            OperationOutcome outcome = parser.parseResource(OperationOutcome.class, reader);
            retVal.setOperationOutcome(outcome);
          }

        } else {
View Full Code Here

      if (response != null) {
        OperationOutcome outcome = new OperationOutcome();
        if (response.getOperationOutcome() != null && response.getOperationOutcome().getIssue() != null) {
          outcome.getIssue().addAll(response.getOperationOutcome().getIssue());
        }
        EncodingUtil encoding = BaseMethodBinding.determineResponseEncoding(theRequest.getServletRequest(), theRequest.getParameters());
        theResponse.setContentType(encoding.getResourceContentType());
        IParser parser = encoding.newParser(getContext());
        parser.encodeResourceToWriter(outcome, writer);
      }
    } finally {
      writer.close();
    }
View Full Code Here

    // nothing
  }
 
  @Override
  public void invokeServer(RestfulServer theServer, Request theRequest, HttpServletResponse theResponse) throws BaseServerResponseException, IOException {
    EncodingUtil encoding = BaseMethodBinding.determineResponseEncoding(theRequest.getServletRequest(), theRequest.getParameters());
    IParser parser = encoding.newParser(getContext());
    IResource resource = parser.parseResource(theRequest.getInputReader());

    Object[] params = new Object[getParameters().size()];
    for (int i = 0; i < getParameters().size(); i++) {
      IParameter param = getParameters().get(i);
View Full Code Here

  public static EncodingUtil determineResponseEncoding(HttpServletRequest theRequest, Map<String, String[]> theParams) {
    String[] format = theParams.remove(Constants.PARAM_FORMAT);
    if (format != null) {
      for (String nextFormat : format) {
        EncodingUtil retVal = Constants.FORMAT_VAL_TO_ENCODING.get(nextFormat);
        if (retVal != null) {
          return retVal;
        }
      }
    }

    Enumeration<String> acceptValues = theRequest.getHeaders("Accept");
    if (acceptValues != null) {
      while (acceptValues.hasMoreElements()) {
        EncodingUtil retVal = Constants.FORMAT_VAL_TO_ENCODING.get(acceptValues.nextElement());
        if (retVal != null) {
          return retVal;
        }
      }
    }
View Full Code Here

    if (narrativeMode == null) {
      narrativeMode = NarrativeModeEnum.NORMAL;
    }

    // Determine response encoding
    EncodingUtil responseEncoding = determineResponseEncoding(theRequest.getServletRequest(), params);

    // Is this request coming from a browser
    String uaHeader = theRequest.getServletRequest().getHeader("user-agent");
    boolean requestIsBrowser = false;
    if (uaHeader != null && uaHeader.contains("Mozilla")) {
View Full Code Here

TOP

Related Classes of ca.uhn.fhir.rest.server.EncodingUtil

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.