public void applyToResponse (@Nonnull final ESOAPVersion eSOAPVersion, @Nonnull final AS4Response aHttpResponse) { aHttpResponse.addCustomResponseHeaders (m_aHeaders); aHttpResponse.setContent (HasInputStream.multiple ( () -> { try { return m_aMimeMsg.getInputStream (); } catch (final IOException | MessagingException ex) { throw new IllegalStateException ("Failed to get MIME input stream", ex); } })); aHttpResponse.setMimeType (MT_MULTIPART_RELATED); }
aRealAttachment.addHeaders (aResponseAttachment.getHeaders ()); aRealAttachment.setSourceStreamProvider (HasInputStream.once ( () -> aResponseAttachment.getSourceStream ()));
aIncomingAttachment.setSourceStreamProvider (new HasInputStream ( () -> { try
ret.setSourceStreamProvider (HasInputStream.multiple ( () -> FileHelper.getBufferedInputStream (aRealFile))); return ret;
public static void createHTMLResponse (@Nonnull final IRequestWebScopeWithoutResponse aRequestScope, @Nonnull final UnifiedResponse aUnifiedResponse, @Nonnull final IHTMLProvider aHTMLProvider) { // Build the main HC tree final HCHtml aHtml = aHTMLProvider.createHTML (aRequestScope); // Add some ad comment :) aHtml.head () .metaElements () .add (new HCMeta ().setName (EStandardMetaElement.GENERATOR.getName ()) .setContent ("https://github.com/phax/ph-oton // phax // ASL 2.0")); // Convert HTML to String, including namespaces try ( final NonBlockingByteArrayOutputStream aBAOS = new NonBlockingByteArrayOutputStream (50 * CGlobal.BYTES_PER_KILOBYTE)) { final IMimeType aMimeType = getMimeType (aRequestScope); final IHCConversionSettings aCS = HCSettings.getConversionSettings (); HCRenderer.writeHtmlTo (aHtml, aCS, aBAOS); // Write to response aUnifiedResponse.setMimeType (aMimeType) .setCharset (aCS.getCharset ()) .setContent (HasInputStream.multiple (aBAOS::getAsInputStream)) .disableCaching (); } }
aResponseAttachment.setSourceStreamProvider (HasInputStream.multiple ( () -> FileHelper.getBufferedInputStream (aTempFile)));