/** * Reads all data from the given stream as UTF-8 character data and closes it on completion or errors. * * @param in Input stream containing character data. * * @return String of all data in stream. * * @throws IOException On IO errors. */ public static String readString(final InputStream in) throws IOException { return readString(in, UTF8); }
/** * Reads all data from the given stream as character data in the given character set and closes it on completion * or errors. * * @param in Input stream containing character data. * @param charset Character set of data in stream. * * @return String of all data in stream. * * @throws IOException On IO errors. */ public static String readString(final InputStream in, final Charset charset) throws IOException { final Reader reader = new InputStreamReader(in, charset); final StringBuilder builder = new StringBuilder(); final CharBuffer buffer = CharBuffer.allocate(2048); try { while (reader.read(buffer) > -1) { buffer.flip(); builder.append(buffer); } } finally { closeQuietly(reader); } return builder.toString(); }
protected String retrieveResponseFromServer(final URL validationUrl, final String ticket) { final String request = String.format( SAML_REQUEST_TEMPLATE, generateId(), SamlUtils.formatForUtcTime(new Date()), ticket); HttpURLConnection conn = null; try { conn = this.getURLConnectionFactory().buildHttpURLConnection(validationUrl.openConnection()); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "text/xml"); conn.setRequestProperty("SOAPAction", "http://www.oasis-open.org/committees/security"); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); final Charset charset = CommonUtils.isNotBlank(getEncoding()) ? Charset.forName(getEncoding()) : IOUtils.UTF8; conn.getOutputStream().write(request.getBytes(charset)); return IOUtils.readString(conn.getInputStream(), charset); } catch (final IOException e) { throw new RuntimeException("IO error sending HTTP request to /samlValidate", e); } finally { if (conn != null) { conn.disconnect(); } } }
protected String retrieveResponseFromServer(final URL validationUrl, final String ticket) { final String request = String.format( SAML_REQUEST_TEMPLATE, generateId(), SamlUtils.formatForUtcTime(new Date()), ticket); HttpURLConnection conn = null; try { conn = this.getURLConnectionFactory().buildHttpURLConnection(validationUrl.openConnection()); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "text/xml"); conn.setRequestProperty("SOAPAction", "http://www.oasis-open.org/committees/security"); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); final Charset charset = CommonUtils.isNotBlank(getEncoding()) ? Charset.forName(getEncoding()) : IOUtils.UTF8; conn.getOutputStream().write(request.getBytes(charset)); return IOUtils.readString(conn.getInputStream(), charset); } catch (final IOException e) { throw new RuntimeException("IO error sending HTTP request to /samlValidate", e); } finally { if (conn != null) { conn.disconnect(); } } }