1616
1717package com .splunk ;
1818
19- import java .io .IOException ;
20- import java .io .OutputStream ;
21- import java .io .OutputStreamWriter ;
22- import java .io .Writer ;
19+ import java .io .*;
2320import java .net .Socket ;
2421import java .lang .StringBuilder ;
22+ import java .util .ArrayList ;
23+ import java .util .List ;
24+
2525/**
2626 * The {@code Receiver} class represents a named index and unnamed index
2727 * receivers.
@@ -83,8 +83,7 @@ public Socket attach(Args args) throws IOException {
8383 */
8484 public Socket attach (String indexName , Args args ) throws IOException {
8585 Socket socket = service .open ();
86- OutputStream ostream = socket .getOutputStream ();
87- Writer out = new OutputStreamWriter (ostream , "UTF-8" );
86+ PrintWriter writer = new PrintWriter (new OutputStreamWriter (socket .getOutputStream (), "UTF-8" ));
8887 String postUrl = "POST /services/receivers/stream" ;
8988 if (indexName != null ) {
9089 postUrl = postUrl + "?index=" + indexName ;
@@ -94,26 +93,19 @@ public Socket attach(String indexName, Args args) throws IOException {
9493 postUrl = postUrl + args .encode ();
9594 }
9695
97- StringBuilder header = new StringBuilder (String .format (
98- "%s HTTP/1.1\r \n " +
99- "Host: %s:%d\r \n " +
100- "Accept-Encoding: identity\r \n " +
101- "X-Splunk-Input-Mode: Streaming\r \n " ,
102- postUrl ,
103- service .getHost (), service .getPort ()
104- ));
96+ List <String > headers = new ArrayList <>();
97+ headers .add (String .format ("%s HTTP/1.1" , postUrl ));
98+ headers .add ("Accept-Encoding: identity" );
99+ headers .add ("X-Splunk-Input-Mode: Streaming" );
105100
106101 if (service .hasCookies ()) {
107- header .append ("Cookie: " );
108- header .append (service .stringifyCookies ());
102+ headers .add (String .format ("Cookie: %s" , service .stringifyCookies ()));
109103 } else {
110- header .append ("Authorization: " );
111- header .append (service .getToken ());
104+ headers .add (String .format ("Authorization: %s" , service .getToken ()));
112105 }
113- header .append ("\r \n \r \n " );
114-
115- out .write (header .toString ());
116- out .flush ();
106+ headers .add ("" );
107+ headers .forEach (header -> writer .println (header ));
108+ writer .flush ();
117109 return socket ;
118110 }
119111
0 commit comments