Class TrackerWebPageResponseImpl
- java.lang.Object
-
- com.biglybt.pifimpl.local.tracker.TrackerWebPageResponseImpl
-
- All Implemented Interfaces:
TrackerWebPageResponse
public class TrackerWebPageResponseImpl extends java.lang.Object implements TrackerWebPageResponse
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.ByteArrayOutputStream
baos
private boolean
baos_set
private java.lang.String
content_type
private int
explicit_gzip
private java.util.Map<java.lang.String,java.lang.Object>
header_map
private boolean
is_async
private boolean
is_gzipped
private static java.lang.String
NL
private boolean
raw_output
private int
reply_status
private TrackerWebPageRequestImpl
request
-
Constructor Summary
Constructors Modifier Constructor Description protected
TrackerWebPageResponseImpl(TrackerWebPageRequestImpl _request)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
addHeader(java.lang.String name, java.lang.String value, boolean replace)
protected void
complete()
boolean
getAsynchronous()
java.lang.String
getContentType()
java.io.OutputStream
getOutputStream()
java.io.OutputStream
getRawOutputStream()
Request complete responsibility for writing the output streamboolean
isActive()
void
setAsynchronous(boolean a)
For a non-blocking tracker the construction of the response can be completed asynchronously by setting async=true and then, when complete, setting it to falsevoid
setContentType(java.lang.String type)
void
setExpires(long time)
void
setGZIP(boolean gzip)
void
setHeader(java.lang.String name, java.lang.String value)
void
setLastModified(long time)
void
setOutputStream(java.io.ByteArrayOutputStream _baos)
void
setReplyStatus(int status)
boolean
useFile(java.lang.String root_dir, java.lang.String relative_url)
use a file contents as the response.void
useStream(java.lang.String file_type, java.io.InputStream input_stream)
void
writeTorrent(TrackerTorrent tracker_torrent)
-
-
-
Field Detail
-
NL
private static final java.lang.String NL
- See Also:
- Constant Field Values
-
baos
private java.io.ByteArrayOutputStream baos
-
baos_set
private boolean baos_set
-
content_type
private java.lang.String content_type
-
reply_status
private int reply_status
-
header_map
private java.util.Map<java.lang.String,java.lang.Object> header_map
-
request
private TrackerWebPageRequestImpl request
-
raw_output
private boolean raw_output
-
is_async
private boolean is_async
-
explicit_gzip
private int explicit_gzip
-
is_gzipped
private boolean is_gzipped
-
-
Constructor Detail
-
TrackerWebPageResponseImpl
protected TrackerWebPageResponseImpl(TrackerWebPageRequestImpl _request)
-
-
Method Detail
-
setLastModified
public void setLastModified(long time)
- Specified by:
setLastModified
in interfaceTrackerWebPageResponse
-
setExpires
public void setExpires(long time)
- Specified by:
setExpires
in interfaceTrackerWebPageResponse
-
setContentType
public void setContentType(java.lang.String type)
- Specified by:
setContentType
in interfaceTrackerWebPageResponse
-
getContentType
public java.lang.String getContentType()
- Specified by:
getContentType
in interfaceTrackerWebPageResponse
-
setReplyStatus
public void setReplyStatus(int status)
- Specified by:
setReplyStatus
in interfaceTrackerWebPageResponse
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)
- Specified by:
setHeader
in interfaceTrackerWebPageResponse
-
setGZIP
public void setGZIP(boolean gzip)
- Specified by:
setGZIP
in interfaceTrackerWebPageResponse
-
addHeader
protected java.lang.String addHeader(java.lang.String name, java.lang.String value, boolean replace)
-
getOutputStream
public java.io.OutputStream getOutputStream()
- Specified by:
getOutputStream
in interfaceTrackerWebPageResponse
-
setOutputStream
public void setOutputStream(java.io.ByteArrayOutputStream _baos)
- Specified by:
setOutputStream
in interfaceTrackerWebPageResponse
-
getRawOutputStream
public java.io.OutputStream getRawOutputStream() throws java.io.IOException
Description copied from interface:TrackerWebPageResponse
Request complete responsibility for writing the output stream- Specified by:
getRawOutputStream
in interfaceTrackerWebPageResponse
- Returns:
- Throws:
java.io.IOException
-
isActive
public boolean isActive()
- Specified by:
isActive
in interfaceTrackerWebPageResponse
-
complete
protected void complete() throws java.io.IOException
- Throws:
java.io.IOException
-
useFile
public boolean useFile(java.lang.String root_dir, java.lang.String relative_url) throws java.io.IOException
Description copied from interface:TrackerWebPageResponse
use a file contents as the response. returns true of loaded ok, false if doesn't exist exception if error occurred during processing.- Specified by:
useFile
in interfaceTrackerWebPageResponse
- Parameters:
root_dir
- e.g. c:\temp\parp or /tmp/trout/relative_url
- e.g. /here/there/wibble.html- Returns:
- Throws:
java.io.IOException
-
useStream
public void useStream(java.lang.String file_type, java.io.InputStream input_stream) throws java.io.IOException
- Specified by:
useStream
in interfaceTrackerWebPageResponse
- Throws:
java.io.IOException
-
writeTorrent
public void writeTorrent(TrackerTorrent tracker_torrent) throws java.io.IOException
- Specified by:
writeTorrent
in interfaceTrackerWebPageResponse
- Throws:
java.io.IOException
-
setAsynchronous
public void setAsynchronous(boolean a) throws java.io.IOException
Description copied from interface:TrackerWebPageResponse
For a non-blocking tracker the construction of the response can be completed asynchronously by setting async=true and then, when complete, setting it to false- Specified by:
setAsynchronous
in interfaceTrackerWebPageResponse
- Throws:
java.io.IOException
-
getAsynchronous
public boolean getAsynchronous()
- Specified by:
getAsynchronous
in interfaceTrackerWebPageResponse
-
-