protected void writeInternal()

in common/src/main/java/org/jetbrains/teamcity/vault/support/AbstractJackson2HttpMessageConverter.java [175:199]


	protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage)
			throws IOException, HttpMessageNotWritableException {

		JsonEncoding encoding = getJsonEncoding(outputMessage.getHeaders().getContentType());
		JsonGenerator generator = this.objectMapper.getFactory().createGenerator(outputMessage.getBody(), encoding);
		try {

			JavaType javaType = null;
			if (jackson26Available && type != null && object != null && TypeUtils.isAssignable(type, object.getClass())) {
				javaType = getJavaType(type, null);
			}
			ObjectWriter objectWriter;
			objectWriter = this.objectMapper.writer();
			if (javaType != null && javaType.isContainerType()) {
				objectWriter = objectWriter.withType(javaType);
			}
			objectWriter.writeValue(generator, object);

			generator.flush();

		}
		catch (JsonProcessingException ex) {
			throw new HttpMessageNotWritableException("Could not write content: " + ex.getMessage(), ex);
		}
	}