Java 类org.springframework.http.HttpOutputMessage 实例源码

项目:linux-memory-monitor    文件:CallbackMappingJackson2HttpMessageConverter.java   
@Override   //Object就是springmvc返回值
protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException,
        HttpMessageNotWritableException {
    // 从threadLocal中获取当前的Request对象
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
            .currentRequestAttributes()).getRequest();

    String callbackParam = request.getParameter(callbackName);
    if (StringUtils.isEmpty(callbackParam)) {
        // 没有找到callback参数,直接返回json数据
        super.writeInternal(object, outputMessage);
    } else {
        JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());
        try {
            //将对象转换为json串,然后用回调方法包括起来
            String result = callbackParam + "(" + super.getObjectMapper().writeValueAsString(object)
                    + ");";
            IOUtils.write(result, outputMessage.getBody(), encoding.getJavaName());
        } catch (JsonProcessingException ex) {
            throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
        }
    }

}
项目:Server_Management_Common_eSightApi    文件:GsonHttpMessageConverter.java   
protected void writeInternal(Object o, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {


  Charset charset = this.getCharset(outputMessage.getHeaders());
  OutputStreamWriter writer = new OutputStreamWriter(outputMessage.getBody(), charset);

  try {
    if(this.jsonPrefix != null) {
      writer.append(this.jsonPrefix);
    }

    this.gson.toJson(o, writer);

    writer.close();
  } catch (JsonIOException var7) {
    throw new HttpMessageNotWritableException("Could not write JSON: " + var7.getMessage(), var7);
  }
}
项目:xm-ms-entity    文件:MultipartMixedConverter.java   
private void writeForm(MultiValueMap<String, String> form, MediaType contentType,
    HttpOutputMessage outputMessage) throws IOException {

    Charset charset;
    if (contentType != null) {
        outputMessage.getHeaders().setContentType(contentType);
        charset = contentType.getCharset() != null ? contentType.getCharset() : this.defaultCharset;
    } else {
        outputMessage.getHeaders().setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        charset = this.defaultCharset;
    }
    StringBuilder builder = new StringBuilder();
    buildByNames(form, charset, builder);
    final byte[] bytes = builder.toString().getBytes(charset.name());
    outputMessage.getHeaders().setContentLength(bytes.length);

    if (outputMessage instanceof StreamingHttpOutputMessage) {
        StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage;
        streamingOutputMessage.setBody(outputStream -> StreamUtils.copy(bytes, outputStream));
    } else {
        StreamUtils.copy(bytes, outputMessage.getBody());
    }
}
项目:xm-ms-entity    文件:MultipartMixedConverter.java   
private void writeMultipart(final MultiValueMap<String, Object> parts, HttpOutputMessage outputMessage)
    throws IOException {
    final byte[] boundary = generateMultipartBoundary();
    Map<String, String> parameters = Collections.singletonMap("boundary", new String(boundary, "US-ASCII"));

    MediaType contentType = new MediaType(mixed, parameters);
    HttpHeaders headers = outputMessage.getHeaders();
    headers.setContentType(contentType);

    if (outputMessage instanceof StreamingHttpOutputMessage) {
        StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage;
        streamingOutputMessage.setBody(outputStream -> {
            writeParts(outputStream, parts, boundary);
            writeEnd(outputStream, boundary);
        });
    } else {
        writeParts(outputMessage.getBody(), parts, boundary);
        writeEnd(outputMessage.getBody(), boundary);
    }
}
项目:xm-ms-entity    文件:MultipartMixedConverter.java   
@SuppressWarnings("unchecked")
private void writePart(String name, HttpEntity<?> partEntity, OutputStream os) throws IOException {
    Object partBody = partEntity.getBody();
    Class<?> partType = partBody.getClass();
    HttpHeaders partHeaders = partEntity.getHeaders();
    MediaType partContentType = partHeaders.getContentType();
    for (HttpMessageConverter<?> messageConverter : this.partConverters) {
        if (messageConverter.canWrite(partType, partContentType)) {
            HttpOutputMessage multipartMessage = new MultipartMixedConverter.MultipartHttpOutputMessage(os);
            multipartMessage.getHeaders().setContentDispositionFormData(name, null);
            if (!partHeaders.isEmpty()) {
                multipartMessage.getHeaders().putAll(partHeaders);
            }
            ((HttpMessageConverter<Object>) messageConverter).write(partBody, partContentType, multipartMessage);
            return;
        }
    }
    throw new HttpMessageNotWritableException(
        "Could not write request: no suitable HttpMessageConverter found for request type [" + partType.getName()
            + "]");
}
项目:lams    文件:FormHttpMessageConverter.java   
@SuppressWarnings("unchecked")
private void writePart(String name, HttpEntity<?> partEntity, OutputStream os) throws IOException {
    Object partBody = partEntity.getBody();
    Class<?> partType = partBody.getClass();
    HttpHeaders partHeaders = partEntity.getHeaders();
    MediaType partContentType = partHeaders.getContentType();
    for (HttpMessageConverter<?> messageConverter : partConverters) {
        if (messageConverter.canWrite(partType, partContentType)) {
            HttpOutputMessage multipartOutputMessage = new MultipartHttpOutputMessage(os);
            multipartOutputMessage.getHeaders().setContentDispositionFormData(name, getFilename(partBody));
            if (!partHeaders.isEmpty()) {
                multipartOutputMessage.getHeaders().putAll(partHeaders);
            }
            ((HttpMessageConverter<Object>) messageConverter).write(partBody, partContentType, multipartOutputMessage);
            return;
        }
    }
    throw new HttpMessageNotWritableException(
            "Could not write request: no suitable HttpMessageConverter found for request type [" +
                    partType.getName() + "]");
}
项目:lams    文件:ResourceHttpMessageConverter.java   
@Override
protected void writeInternal(Resource resource, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    InputStream in = resource.getInputStream();
    try {
        StreamUtils.copy(in, outputMessage.getBody());
    }
    finally {
        try {
            in.close();
        }
        catch (IOException ex) {
        }
    }
    outputMessage.getBody().flush();
}
项目:lams    文件:MappingJacksonHttpMessageConverter.java   
@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());
    JsonGenerator jsonGenerator =
            this.objectMapper.getJsonFactory().createJsonGenerator(outputMessage.getBody(), encoding);

    // A workaround for JsonGenerators not applying serialization features
    // https://github.com/FasterXML/jackson-databind/issues/12
    if (this.objectMapper.getSerializationConfig().isEnabled(SerializationConfig.Feature.INDENT_OUTPUT)) {
        jsonGenerator.useDefaultPrettyPrinter();
    }

    try {
        if (this.jsonPrefix != null) {
            jsonGenerator.writeRaw(this.jsonPrefix);
        }
        this.objectMapper.writeValue(jsonGenerator, object);
    }
    catch (JsonProcessingException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}
项目:tokamak    文件:RestExceptionRenderer.java   
public void handleHttpEntityResponse(HttpEntity<?> responseEntity, ServletWebRequest webRequest) throws Exception {
    if (responseEntity == null) {
        return;
    }

    HttpInputMessage inputMessage = createHttpInputMessage(webRequest);
    HttpOutputMessage outputMessage = createHttpOutputMessage(webRequest);
    if (responseEntity instanceof ResponseEntity && outputMessage instanceof ServerHttpResponse) {
        ((ServerHttpResponse) outputMessage).setStatusCode(((ResponseEntity<?>) responseEntity).getStatusCode());
    }

    HttpHeaders entityHeaders = responseEntity.getHeaders();
    if (!entityHeaders.isEmpty()) {
        outputMessage.getHeaders().putAll(entityHeaders);
    }

    Object body = responseEntity.getBody();
    if (body != null) {
        writeWithMessageConverters(body, inputMessage, outputMessage);
    }
    else {
        outputMessage.getBody();
    }
}
项目:flow-platform    文件:RawGsonMessageConverter.java   
@Override
protected void writeInternal(Object o, Type type, HttpOutputMessage outputMessage)
    throws IOException, HttpMessageNotWritableException {
    Charset charset = getCharset(outputMessage.getHeaders());

    try (OutputStreamWriter writer = new OutputStreamWriter(outputMessage.getBody(), charset)) {
        if (ignoreType) {
            gsonForWriter.toJson(o, writer);
            return;
        }

        if (type != null) {
            gsonForWriter.toJson(o, type, writer);
            return;
        }

        gsonForWriter.toJson(o, writer);
    } catch (JsonIOException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}
项目:feign-client-test    文件:FeignSpringFormEncoder.java   
/**
 * Calls the conversion chain actually used by
 * {@link org.springframework.web.client.RestTemplate}, filling the body of the request
 * template.
 *
 * @param value
 * @param requestHeaders
 * @param template
 * @throws EncodeException
 */
private void encodeRequest(Object value, HttpHeaders requestHeaders, RequestTemplate template) throws EncodeException {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    HttpOutputMessage dummyRequest = new HttpOutputMessageImpl(outputStream, requestHeaders);
    try {
        Class<?> requestType = value.getClass();
        MediaType requestContentType = requestHeaders.getContentType();
        for (HttpMessageConverter<?> messageConverter : converters) {
            if (messageConverter.canWrite(requestType, requestContentType)) {
                ((HttpMessageConverter<Object>) messageConverter).write(
                        value, requestContentType, dummyRequest);
                break;
            }
        }
    } catch (IOException ex) {
        throw new EncodeException("Cannot encode request.", ex);
    }
    HttpHeaders headers = dummyRequest.getHeaders();
    if (headers != null) {
        for (Entry<String, List<String>> entry : headers.entrySet()) {
            template.header(entry.getKey(), entry.getValue());
        }
    }
    /*
    we should use a template output stream... this will cause issues if files are too big, 
    since the whole request will be in memory.
     */
    template.body(outputStream.toByteArray(), UTF_8);
}
项目:oma-riista-web    文件:CSVMessageConverter.java   
@Override
protected void writeInternal(CSVHttpResponse response, HttpOutputMessage output) throws IOException {
    final Charset charset = getCharset(response);

    output.getHeaders().setContentType(createMediaType(charset));
    output.getHeaders().set("Content-Disposition", "attachment; filename=\"" + response.getFilename() + "\"");

    try (final OutputStreamWriter outputStreamWriter = new OutputStreamWriter(output.getBody(), charset);
         final CSVWriter writer = new CSVWriter(outputStreamWriter, ';')) {

        if (response.getHeaderRow() != null) {
            writer.writeNext(response.getHeaderRow());
        }

        writer.writeAll(response.getRows());
        writer.flush();
    }
}
项目:spring4-understanding    文件:AnnotationMethodHandlerAdapter.java   
private void handleHttpEntityResponse(HttpEntity<?> responseEntity, ServletWebRequest webRequest) throws Exception {
    if (responseEntity == null) {
        return;
    }
    HttpInputMessage inputMessage = createHttpInputMessage(webRequest);
    HttpOutputMessage outputMessage = createHttpOutputMessage(webRequest);
    if (responseEntity instanceof ResponseEntity && outputMessage instanceof ServerHttpResponse) {
        ((ServerHttpResponse) outputMessage).setStatusCode(((ResponseEntity<?>) responseEntity).getStatusCode());
    }
    HttpHeaders entityHeaders = responseEntity.getHeaders();
    if (!entityHeaders.isEmpty()) {
        outputMessage.getHeaders().putAll(entityHeaders);
    }
    Object body = responseEntity.getBody();
    if (body != null) {
        writeWithMessageConverters(body, inputMessage, outputMessage);
    }
    else {
        // flush headers
        outputMessage.getBody();
    }
}
项目:spring4-understanding    文件:RequestResponseBodyMethodProcessorMockTests.java   
@Test
public void handleReturnValueMediaTypeSuffix() throws Exception {
    String body = "Foo";
    MediaType accepted = MediaType.APPLICATION_XHTML_XML;
    List<MediaType> supported = Collections.singletonList(MediaType.valueOf("application/*+xml"));

    servletRequest.addHeader("Accept", accepted);

    given(messageConverter.canWrite(String.class, null)).willReturn(true);
    given(messageConverter.getSupportedMediaTypes()).willReturn(supported);
    given(messageConverter.canWrite(String.class, accepted)).willReturn(true);

    processor.handleReturnValue(body, returnTypeStringProduces, mavContainer, webRequest);

    assertTrue(mavContainer.isRequestHandled());
    verify(messageConverter).write(eq(body), eq(accepted), isA(HttpOutputMessage.class));
}
项目:spring4-understanding    文件:HttpEntityMethodProcessorMockTests.java   
@Test
public void handleReturnValue() throws Exception {
    String body = "Foo";
    ResponseEntity<String> returnValue = new ResponseEntity<String>(body, HttpStatus.OK);

    MediaType accepted = MediaType.TEXT_PLAIN;
    servletRequest.addHeader("Accept", accepted.toString());

    given(messageConverter.canWrite(String.class, null)).willReturn(true);
    given(messageConverter.getSupportedMediaTypes()).willReturn(Collections.singletonList(MediaType.TEXT_PLAIN));
    given(messageConverter.canWrite(String.class, accepted)).willReturn(true);

    processor.handleReturnValue(returnValue, returnTypeResponseEntity, mavContainer, webRequest);

    assertTrue(mavContainer.isRequestHandled());
    verify(messageConverter).write(eq(body), eq(accepted), isA(HttpOutputMessage.class));
}
项目:spring4-understanding    文件:HttpEntityMethodProcessorMockTests.java   
@SuppressWarnings("unchecked")
@Test
public void handleReturnValueWithResponseBodyAdvice() throws Exception {
    ResponseEntity<String> returnValue = new ResponseEntity<>(HttpStatus.OK);

    servletRequest.addHeader("Accept", "text/*");
    servletRequest.setAttribute(PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, Collections.singleton(MediaType.TEXT_HTML));

    ResponseBodyAdvice<String> advice = mock(ResponseBodyAdvice.class);
    given(advice.supports(any(), any())).willReturn(true);
    given(advice.beforeBodyWrite(any(), any(), any(), any(), any(), any())).willReturn("Foo");

    HttpEntityMethodProcessor processor = new HttpEntityMethodProcessor(
            Collections.singletonList(messageConverter), null, Collections.singletonList(advice));

    reset(messageConverter);
    given(messageConverter.canWrite(String.class, MediaType.TEXT_HTML)).willReturn(true);

    processor.handleReturnValue(returnValue, returnTypeResponseEntity, mavContainer, webRequest);

    assertTrue(mavContainer.isRequestHandled());
    verify(messageConverter).write(eq("Foo"), eq(MediaType.TEXT_HTML), isA(HttpOutputMessage.class));
}
项目:spring4-understanding    文件:HttpEntityMethodProcessorMockTests.java   
@Test
public void responseHeaderAndBody() throws Exception {
    HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.set("header", "headerValue");
    ResponseEntity<String> returnValue = new ResponseEntity<String>("body", responseHeaders, HttpStatus.ACCEPTED);

    given(messageConverter.canWrite(String.class, null)).willReturn(true);
    given(messageConverter.getSupportedMediaTypes()).willReturn(Collections.singletonList(MediaType.TEXT_PLAIN));
    given(messageConverter.canWrite(String.class, MediaType.TEXT_PLAIN)).willReturn(true);

    processor.handleReturnValue(returnValue, returnTypeResponseEntity, mavContainer, webRequest);

    ArgumentCaptor<HttpOutputMessage> outputMessage = ArgumentCaptor.forClass(HttpOutputMessage.class);
    verify(messageConverter).write(eq("body"), eq(MediaType.TEXT_PLAIN),  outputMessage.capture());
    assertTrue(mavContainer.isRequestHandled());
    assertEquals("headerValue", outputMessage.getValue().getHeaders().get("header").get(0));
}
项目:spring4-understanding    文件:FormHttpMessageConverter.java   
private void writeMultipart(final MultiValueMap<String, Object> parts, HttpOutputMessage outputMessage) throws IOException {
    final byte[] boundary = generateMultipartBoundary();
    Map<String, String> parameters = Collections.singletonMap("boundary", new String(boundary, "US-ASCII"));

    MediaType contentType = new MediaType(MediaType.MULTIPART_FORM_DATA, parameters);
    HttpHeaders headers = outputMessage.getHeaders();
    headers.setContentType(contentType);

    if (outputMessage instanceof StreamingHttpOutputMessage) {
        StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage;
        streamingOutputMessage.setBody(new StreamingHttpOutputMessage.Body() {
            @Override
            public void writeTo(OutputStream outputStream) throws IOException {
                writeParts(outputStream, parts, boundary);
                writeEnd(outputStream, boundary);
            }
        });
    }
    else {
        writeParts(outputMessage.getBody(), parts, boundary);
        writeEnd(outputMessage.getBody(), boundary);
    }
}
项目:spring4-understanding    文件:FormHttpMessageConverter.java   
@SuppressWarnings("unchecked")
private void writePart(String name, HttpEntity<?> partEntity, OutputStream os) throws IOException {
    Object partBody = partEntity.getBody();
    Class<?> partType = partBody.getClass();
    HttpHeaders partHeaders = partEntity.getHeaders();
    MediaType partContentType = partHeaders.getContentType();
    for (HttpMessageConverter<?> messageConverter : this.partConverters) {
        if (messageConverter.canWrite(partType, partContentType)) {
            HttpOutputMessage multipartMessage = new MultipartHttpOutputMessage(os);
            multipartMessage.getHeaders().setContentDispositionFormData(name, getFilename(partBody));
            if (!partHeaders.isEmpty()) {
                multipartMessage.getHeaders().putAll(partHeaders);
            }
            ((HttpMessageConverter<Object>) messageConverter).write(partBody, partContentType, multipartMessage);
            return;
        }
    }
    throw new HttpMessageNotWritableException("Could not write request: no suitable HttpMessageConverter " +
            "found for request type [" + partType.getName() + "]");
}
项目:spring4-understanding    文件:ResourceHttpMessageConverter.java   
@Override
protected void writeInternal(Resource resource, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    InputStream in = resource.getInputStream();
    try {
        StreamUtils.copy(in, outputMessage.getBody());
    }
    finally {
        try {
            in.close();
        }
        catch (IOException ex) {
        }
    }
    outputMessage.getBody().flush();
}
项目:spring4-understanding    文件:GsonHttpMessageConverter.java   
@Override
protected void writeInternal(Object o, Type type, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    Charset charset = getCharset(outputMessage.getHeaders());
    OutputStreamWriter writer = new OutputStreamWriter(outputMessage.getBody(), charset);
    try {
        if (this.jsonPrefix != null) {
            writer.append(this.jsonPrefix);
        }
        if (type != null) {
            this.gson.toJson(o, type, writer);
        }
        else {
            this.gson.toJson(o, writer);
        }
        writer.close();
    }
    catch (JsonIOException ex) {
        throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
    }
}
项目:spring4-understanding    文件:AbstractWireFeedHttpMessageConverter.java   
@Override
protected void writeInternal(T wireFeed, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    String wireFeedEncoding = wireFeed.getEncoding();
    if (!StringUtils.hasLength(wireFeedEncoding)) {
        wireFeedEncoding = DEFAULT_CHARSET.name();
    }
    MediaType contentType = outputMessage.getHeaders().getContentType();
    if (contentType != null) {
        Charset wireFeedCharset = Charset.forName(wireFeedEncoding);
        contentType = new MediaType(contentType.getType(), contentType.getSubtype(), wireFeedCharset);
        outputMessage.getHeaders().setContentType(contentType);
    }

    WireFeedOutput feedOutput = new WireFeedOutput();
    try {
        Writer writer = new OutputStreamWriter(outputMessage.getBody(), wireFeedEncoding);
        feedOutput.output(wireFeed, writer);
    }
    catch (FeedException ex) {
        throw new HttpMessageNotWritableException("Could not write WireFeed: " + ex.getMessage(), ex);
    }
}
项目:spring4-understanding    文件:BufferedImageHttpMessageConverter.java   
@Override
public void write(final BufferedImage image, final MediaType contentType,
        final HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {

    if (outputMessage instanceof StreamingHttpOutputMessage) {
        StreamingHttpOutputMessage streamingOutputMessage = (StreamingHttpOutputMessage) outputMessage;
        streamingOutputMessage.setBody(new StreamingHttpOutputMessage.Body() {
            @Override
            public void writeTo(OutputStream outputStream) throws IOException {
                writeInternal(image, contentType, outputMessage.getHeaders(), outputStream);
            }
        });
    }
    else {
        writeInternal(image, contentType, outputMessage.getHeaders(), outputMessage.getBody());
    }
}
项目:leopard    文件:MappingJackson2HttpMessageConverter.java   
@Override
public void write(Object body, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
    outputMessage.getHeaders().setContentType(JSON_MEDIA_TYPE);

    // outputMessage.getHeaders().setAccessControlAllowOrigin("*");// FIXME 暂时的写法

    if (corsConfig.isEnable()) {
        HttpServletRequest request = RequestUtil.getCurrentRequest();
        String allowOrigin = corsConfig.getAccessControlAllowOrigin(request);
        if (StringUtils.isNotEmpty(allowOrigin)) {
            outputMessage.getHeaders().set("Access-Control-Allow-Origin", allowOrigin);
            outputMessage.getHeaders().set("Access-Control-Allow-Credentials", "true");
            // outputMessage.getHeaders().set("Access-Control-Allow-Methods", "GET, POST");
            // outputMessage.getHeaders().set("Access-Control-Allow-Headers", "x_requested_with,content-type");
        }
    }

    // System.err.println("ok");
    outputMessage.getBody().write(((String) body).getBytes());
}
项目:restalm    文件:EntityMarshaller.java   
@Override
public void write(final GenericEntity entity, final MediaType contentType, final HttpOutputMessage outputMessage)
        throws IOException {
    final HierarchicalStreamWriter writer = new CompactWriter(new OutputStreamWriter(outputMessage.getBody()));
    writer.startNode("Entity");
    writer.addAttribute("Type", entity.getType());
    writer.startNode("Fields");
    for (final Field field : entity.getFields()) {
        writer.startNode("Field");
        writer.addAttribute("Name", field.getName());
        if (field.getValues().size() == 0) {
            writer.startNode("Value");
            writer.endNode();
        } else {
            for (final String value : field.getValues()) {
                writer.startNode("Value");
                writer.setValue(value);
                writer.endNode();
            }
        }
        writer.endNode();
    }
    writer.endNode();
    writer.endNode();

}
项目:elucidate-server    文件:AbstractOAAnnotationHistoryMessageConverter.java   
private void decorateNextVersionHeader(OAAnnotationHistory oaAnnotationHistory, HttpOutputMessage outputMessage) {

        String collectionId = oaAnnotationHistory.getCollectionId();
        String annotationId = oaAnnotationHistory.getAnnotationId();
        int version = oaAnnotationHistory.getVersion();

        ServiceResponse<OAAnnotationHistory> serviceResponse = oaAnnotationHistoryService.getNextAnnotationVersion(collectionId, annotationId, version);
        Status status = serviceResponse.getStatus();

        if (status.equals(Status.OK)) {
            oaAnnotationHistory = serviceResponse.getObj();
            String urlStr = iriBuilderService.buildOAAnnotationHistoryIri(collectionId, annotationId, oaAnnotationHistory.getVersion());
            String dateStr = MEMENTO_DATE_FORMAT.format(oaAnnotationHistory.getCreatedDateTime());
            outputMessage.getHeaders().add(HttpHeaders.LINK, String.format("<%s>; rel=\"next memento\"; datetime=\"%s\"", urlStr, dateStr));
        }
    }
项目:elucidate-server    文件:AbstractOAAnnotationHistoryMessageConverter.java   
private void decoratePreviousVersionHeader(OAAnnotationHistory oaAnnotationHistory, HttpOutputMessage outputMessage) {

        String collectionId = oaAnnotationHistory.getCollectionId();
        String annotationId = oaAnnotationHistory.getAnnotationId();
        int version = oaAnnotationHistory.getVersion();

        ServiceResponse<OAAnnotationHistory> serviceResponse = oaAnnotationHistoryService.getPreviousAnnotationVersion(collectionId, annotationId, version);
        Status status = serviceResponse.getStatus();

        if (status.equals(Status.OK)) {
            oaAnnotationHistory = serviceResponse.getObj();
            String urlStr = iriBuilderService.buildOAAnnotationHistoryIri(collectionId, annotationId, oaAnnotationHistory.getVersion());
            String dateStr = MEMENTO_DATE_FORMAT.format(oaAnnotationHistory.getCreatedDateTime());
            outputMessage.getHeaders().add(HttpHeaders.LINK, String.format("<%s>; rel=\"prev memento\"; datetime=\"%s\"", urlStr, dateStr));
        }
    }
项目:elucidate-server    文件:AbstractW3CAnnotationHistoryMessageConverter.java   
private void decoratePreviousVersionHeader(W3CAnnotationHistory w3cAnnotationHistory, HttpOutputMessage outputMessage) {

        String collectionId = w3cAnnotationHistory.getCollectionId();
        String annotationId = w3cAnnotationHistory.getAnnotationId();
        int version = w3cAnnotationHistory.getVersion();

        ServiceResponse<W3CAnnotationHistory> serviceResponse = w3cAnnotationHistoryService.getPreviousAnnotationVersion(collectionId, annotationId, version);
        Status status = serviceResponse.getStatus();

        if (status.equals(Status.OK)) {
            w3cAnnotationHistory = serviceResponse.getObj();
            String urlStr = iriBuilderService.buildW3CAnnotationHistoryIri(collectionId, annotationId, w3cAnnotationHistory.getVersion());
            String dateStr = MEMENTO_DATE_FORMAT.format(w3cAnnotationHistory.getCreatedDateTime());
            outputMessage.getHeaders().add(HttpHeaders.LINK, String.format("<%s>; rel=\"prev memento\"; datetime=\"%s\"", urlStr, dateStr));
        }
    }
项目:FAIRDataPoint    文件:CatalogMetadataConverter.java   
@Override
protected void writeInternal(CatalogMetadata metadata, 
        HttpOutputMessage outputMessage) throws IOException, 
        HttpMessageNotWritableException {        
    String result;
    try {
        result = MetadataUtils.getString(metadata, format);
    } catch (MetadataException e) {
        throw new HttpMessageNotWritableException("", e);
    }

    OutputStreamWriter writer = new OutputStreamWriter(
            outputMessage.getBody(), StandardCharsets.UTF_8);
    writer.write(result);
    writer.close();
}
项目:FAIRDataPoint    文件:DatasetMetadataConverter.java   
@Override
protected void writeInternal(DatasetMetadata metadata, HttpOutputMessage
        outputMessage) 
        throws IOException, HttpMessageNotWritableException {
    String result;
    try {
        result = MetadataUtils.getString(metadata, format);
    } catch (MetadataException e) {
        throw new HttpMessageNotWritableException("", e);
    }

    OutputStreamWriter writer = new OutputStreamWriter(
            outputMessage.getBody(), StandardCharsets.UTF_8);
    writer.write(result);
    writer.close();
}
项目:FAIRDataPoint    文件:DistributionMetadataConverter.java   
@Override
protected void writeInternal(DistributionMetadata metadata, 
        HttpOutputMessage outputMessage) throws IOException, 
        HttpMessageNotWritableException {

    String result;
    try {
        result = MetadataUtils.getString(metadata, format);
    } catch (MetadataException e) {
        throw new HttpMessageNotWritableException("", e);
    }

    OutputStreamWriter writer = new OutputStreamWriter(
            outputMessage.getBody(), StandardCharsets.UTF_8);
    writer.write(result);
    writer.close();
}
项目:dhis2-core    文件:JsonPMessageConverter.java   
@Override
protected void writeInternal( RootNode rootNode, HttpOutputMessage outputMessage ) throws IOException, HttpMessageNotWritableException
{
    List<String> callbacks = Lists.newArrayList( contextService.getParameterValues( DEFAULT_CALLBACK_PARAMETER ) );

    String callbackParam;

    if ( callbacks.isEmpty() )
    {
        callbackParam = DEFAULT_CALLBACK_PARAMETER;
    }
    else
    {
        callbackParam = callbacks.get( 0 );
    }

    rootNode.getConfig().getProperties().put( Jackson2JsonNodeSerializer.JSONP_CALLBACK, callbackParam );

    nodeService.serialize( rootNode, "application/json", outputMessage.getBody() );
}
项目:xm-uaa    文件:TwitterEscapingFormHttpMessageConverter.java   
@Override
public void write(MultiValueMap<String, ?> map, MediaType contentType, HttpOutputMessage outputMessage)
    throws IOException {
    // only do special escaping if this is a non-multipart request
    if (!isMultipart(map, contentType)) {
        super.write(map, contentType, new TwitterEscapingHttpOutputMessage(outputMessage));
    } else {
        super.write(map, contentType, outputMessage);
    }
}
项目:snowflake    文件:WebConfiguration.java   
@Bean
public HttpMessageConverter customJackson2HttpMessageConverter() {
    return new FastJsonHttpMessageConverter4() {
        @Override
        protected void writeInternal(Object obj, Type type, HttpOutputMessage outputMessage)
                throws IOException, HttpMessageNotWritableException {
            if (obj instanceof ResultModel) {
                super.writeInternal(obj, type, outputMessage);
            } else {
                super.writeInternal(ResultResolver.sendNormalResult(obj), type, outputMessage);
            }
        }
    };
}
项目:cf-java-client-sap    文件:UploadApplicationPayloadHttpMessageConverter.java   
public void write(UploadApplicationPayload t, MediaType contentType, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
    setOutputContentType(contentType, outputMessage);

    FileCopyUtils.copy(t.getInputStream(), outputMessage.getBody());
    outputMessage.getBody().flush();

    writeApplicationZipToFile(t.getInputStream());
}
项目:cf-java-client-sap    文件:UploadApplicationPayloadHttpMessageConverter.java   
private void setOutputContentType(MediaType contentType, HttpOutputMessage outputMessage) {
    HttpHeaders headers = outputMessage.getHeaders();
    if (contentType == null || contentType.isWildcardType() || contentType.isWildcardSubtype()) {
        contentType = MediaType.APPLICATION_OCTET_STREAM;
    }
    if (contentType != null) {
        headers.setContentType(contentType);
    }
}
项目:cf-java-client-sap    文件:UploadApplicationPayloadHttpMessageConverterTest.java   
@Test
public void shouldWrite() throws Exception {
    UploadApplicationPayload payload = mock(UploadApplicationPayload.class);
    given(payload.getInputStream()).willReturn(new ByteArrayInputStream(CONTENT));
    HttpOutputMessage outputMessage = mock(HttpOutputMessage.class);
    HttpHeaders headers = mock(HttpHeaders.class);
    given(outputMessage.getHeaders()).willReturn(headers);
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    given(outputMessage.getBody()).willReturn(out);
    converter.write(payload, null, outputMessage);
    verify(headers).setContentType(MediaType.APPLICATION_OCTET_STREAM);
    assertThat(out.toByteArray(), is(equalTo(CONTENT)));
}
项目:ocmall    文件:FastJsonHttpMessageConverter.java   
@Override
    protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException,
            HttpMessageNotWritableException {
        /**
         * FastJson 1.1.42之前的版本反序列化对象时父对象属性无法被设值
         * 但是之后的版本Enum序列化使用的是toString方法
         * 临时解决方法强制使用Enum.name()方法序列化
         */
        List<String> classFilters = new ArrayList<String>();
        ClassPathScanHandler handler = new ClassPathScanHandler(true, true,classFilters);
        Set<Class<?>> calssList = handler.getPackageAllClasses("com.mobanker", true);
//        logger.debug("writeInternal calssList:{}",calssList);
        if(calssList!=null){
            for (Class<?> clazz : calssList) {
                if(clazz.isEnum() || (clazz.getSuperclass() != null && clazz.getSuperclass().isEnum())){
                    if(SerializeConfig.getGlobalInstance().get(clazz)==null) {
                        SerializeConfig.getGlobalInstance().put(clazz, EnumSerializer.instance);
                    }
                }
            }
        }
//        logger.debug("fastJson write object:{}",obj);
        try {
            super.writeInternal(obj, outputMessage);
        }catch (Exception e){
            logger.error(e.getMessage(),e);
        }
    }
项目:WeatherSystem    文件:FastJsonMessageConverter.java   
@Override
protected void writeInternal(Object o, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
    String jsonString = JSON.toJSONString(o, serializerFeature);
    OutputStream out = outputMessage.getBody();
    out.write(jsonString.getBytes(DEFAULT_CHARSET));
    out.flush();
}
项目:OnlineShop    文件:CSVProcessor.java   
@Override
protected void writeInternal(T t, HttpOutputMessage hom) throws IOException, HttpMessageNotWritableException, FileNotFoundException {
    try {
        objectToCSV(hom.getBody(), t.t);
    } catch (IllegalAccessException ex) {
        Logger.getLogger(CSVProcessor.class.getName()).log(Level.SEVERE, null, ex);
    }
}