Skip to content

Commit 299c64b

Browse files
Added Request and Response headers
1 parent ed521ee commit 299c64b

4 files changed

Lines changed: 79 additions & 0 deletions

File tree

java/src/main/java/com/cybersource/ws/client/Connection.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ private void checkForFault()
126126
logger.log(Logger.LT_INFO, "Reading response...");
127127

128128
int responseCode = getHttpResponseCode();
129+
130+
logResponseHeaders();
129131

130132
// if successful, there's nothing left to do here.
131133
// we'll process the response in a later method.
@@ -214,7 +216,15 @@ static ByteArrayOutputStream makeStream(Document doc)
214216

215217
return baos;
216218
}
219+
/*
220+
* Log Request and Response Headers
221+
*
222+
*/
223+
224+
abstract void logRequestHeaders();
225+
abstract void logResponseHeaders();
217226
}
218227

228+
219229
/* Copyright 2006 CyberSource Corporation */
220230

java/src/main/java/com/cybersource/ws/client/HttpClientConnection.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
import java.net.ProtocolException;
3838
import java.util.ArrayList;
3939
import java.util.List;
40+
import java.util.HashMap;
41+
import java.util.List;
42+
import java.util.Map;
43+
import java.util.Map.Entry;
44+
import org.apache.commons.httpclient.Header;
4045

4146
/**
4247
* Class helps in posting the Request document for the Transaction using HttpClient.
@@ -81,6 +86,8 @@ void postDocument(Document request)
8186

8287
postMethod.setRequestEntity(
8388
new StringRequestEntity(requestString, null, "UTF-8"));
89+
postMethod.setRequestHeader("v-c-origin-ia", String.valueOf(System.currentTimeMillis()));
90+
logRequestHeaders();
8491

8592
httpClient.executeMethod(postMethod);
8693
}
@@ -231,6 +238,29 @@ public boolean retryMethod(
231238
return false;
232239
}
233240
}
241+
242+
@Override
243+
void logRequestHeaders() {
244+
// TODO Auto-generated method stub
245+
246+
Header[] headers=postMethod.getRequestHeaders();
247+
for(Header header:headers){
248+
logger.log(Logger.LT_INFO, "Request Headers: " +header);
249+
250+
}
251+
}
252+
253+
@Override
254+
public void logResponseHeaders() {
255+
Header[] headers = postMethod.getResponseHeaders();
256+
Map<String, String> headerMap = new HashMap<String, String>();
257+
for(Header header: headers){
258+
headerMap.put(header.getName(), header.getValue());
259+
}
260+
261+
logger.log(Logger.LT_INFO, "Response Headers"+ headerMap);
262+
}
263+
234264
}
235265

236266
/* Copyright 2006 CyberSource Corporation */

java/src/main/java/com/cybersource/ws/client/JDKHttpURLConnection.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
import java.net.MalformedURLException;
3232
import java.net.ProtocolException;
3333
import java.net.URL;
34+
import java.util.HashMap;
35+
import java.util.List;
36+
import java.util.Map;
37+
import java.util.Map.Entry;
3438

3539

3640
/**
@@ -57,6 +61,8 @@ void postDocument(Document request)
5761
URL url = new URL(serverURL);
5862

5963
con = ConnectionHelper.openConnection(url, mc);
64+
con.setRequestProperty("v-c-origin-iat", String.valueOf(System.currentTimeMillis()));
65+
logRequestHeaders();
6066
con.setRequestMethod("POST");
6167
con.setDoOutput(true);
6268
ConnectionHelper.setTimeout(con, mc.getTimeout());
@@ -130,6 +136,29 @@ private static byte[] documentToByteArray(Document doc)
130136
}
131137
}
132138
}
139+
140+
@Override
141+
void logResponseHeaders() {
142+
143+
try {
144+
if(con!=null && con.getResponseCode() != -1 ) {
145+
logger.log(Logger.LT_INFO, "Response Headers : "+con.getHeaderFields());
146+
147+
}
148+
} catch (Exception e) {
149+
e.printStackTrace();
150+
}
151+
152+
153+
}
154+
155+
156+
@Override
157+
void logRequestHeaders() {
158+
// TODO Auto-generated method stub
159+
logger.log(Logger.LT_INFO, "Request Headers : "+con.getRequestProperties());
160+
161+
}
133162
}
134163

135164
/* Copyright 2006 CyberSource Corporation */

java/src/test/java/com/cybersource/ws/client/CustomHttpConnectionClass.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,16 @@ public boolean retryMethod(
182182
return false;
183183
}
184184
}
185+
186+
@Override
187+
void logResponseHeaders() {
188+
189+
}
190+
191+
192+
@Override
193+
void logRequestHeaders() {
185194

195+
}
186196
}
187197

0 commit comments

Comments
 (0)