-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathHttpResponse.java
More file actions
96 lines (85 loc) · 3.6 KB
/
HttpResponse.java
File metadata and controls
96 lines (85 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/****************************************************************************/
/* File: HttpResponse.java */
/* Author: F. Georges - fgeorges.org */
/* Date: 2009-02-02 */
/* Tags: */
/* Copyright (c) 2009 Florent Georges (see end of file.) */
/* ------------------------------------------------------------------------ */
package org.expath.httpclient;
import org.expath.httpclient.model.TreeBuilder;
import org.expath.tools.ToolsException;
/**
* A HTTP response.
*
* TODO: Make an abstract class, and factorize code...
*
* @author Florent Georges
*/
public class HttpResponse
{
public HttpResponse(int status, String msg, HeaderSet headers, HttpResponseBody body, long time)
{
myStatus = status;
myMessage = msg;
myHeaders = headers;
myBody = body;
myTime = time;
}
public int getStatus()
{
return myStatus;
}
public HeaderSet getHeaders()
{
return myHeaders;
}
public HttpResponseBody getBody()
{
return myBody;
}
public void outputResponseElement(TreeBuilder b)
throws HttpClientException
{
try {
b.startElem("response");
b.attribute("status", Integer.toString(myStatus));
b.attribute("message", myMessage);
b.attribute("spent-millis", Long.toString(myTime));
b.startContent();
b.outputHeaders(myHeaders);
if ( myBody != null ) {
// "recurse" on bodies...
myBody.outputBody(b);
}
// end the response element
b.endElem();
}
catch ( ToolsException ex ) {
throw new HttpClientException("Error building the response", ex);
}
}
private final int myStatus;
private final String myMessage;
private final HeaderSet myHeaders;
private final HttpResponseBody myBody;
private final long myTime;
}
/* ------------------------------------------------------------------------ */
/* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS COMMENT. */
/* */
/* The contents of this file are subject to the Mozilla Public License */
/* Version 1.0 (the "License"); you may not use this file except in */
/* compliance with the License. You may obtain a copy of the License at */
/* http://www.mozilla.org/MPL/. */
/* */
/* Software distributed under the License is distributed on an "AS IS" */
/* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See */
/* the License for the specific language governing rights and limitations */
/* under the License. */
/* */
/* The Original Code is: all this file. */
/* */
/* The Initial Developer of the Original Code is Florent Georges. */
/* */
/* Contributor(s): none. */
/* ------------------------------------------------------------------------ */