Package org.globus.io.streams
Class HTTPOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.globus.io.streams.GlobusOutputStream
-
- org.globus.io.streams.HTTPOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
- Direct Known Subclasses:
GassOutputStream
public class HTTPOutputStream extends GlobusOutputStream
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
append
private static byte[]
CRLF
private static int
DEFAULT_TIME
protected java.io.InputStream
in
private static org.apache.commons.logging.Log
logger
protected java.io.OutputStream
output
protected long
size
protected java.net.Socket
socket
-
Constructor Summary
Constructors Modifier Constructor Description protected
HTTPOutputStream()
Private constructor used by subclasses.HTTPOutputStream(java.lang.String host, int port, java.lang.String file, long length, boolean append)
Opens HTTP output stream (unsecure)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
Aborts transfer.private void
checkForReply()
void
close()
private void
closeSocket()
private void
finish()
void
flush()
private void
init(java.lang.String host, int port, java.lang.String file, long length, boolean append)
protected void
put(java.lang.String host, java.lang.String file, long length, int waittime)
private void
sleep(int time)
void
write(byte[] msg)
void
write(byte[] msg, int from, int length)
void
write(int b)
-
-
-
Field Detail
-
logger
private static org.apache.commons.logging.Log logger
-
CRLF
private static final byte[] CRLF
-
DEFAULT_TIME
private static final int DEFAULT_TIME
- See Also:
- Constant Field Values
-
output
protected java.io.OutputStream output
-
in
protected java.io.InputStream in
-
socket
protected java.net.Socket socket
-
size
protected long size
-
append
protected boolean append
-
-
Constructor Detail
-
HTTPOutputStream
protected HTTPOutputStream()
Private constructor used by subclasses.
-
HTTPOutputStream
public HTTPOutputStream(java.lang.String host, int port, java.lang.String file, long length, boolean append) throws GassException, java.io.IOException
Opens HTTP output stream (unsecure)- Parameters:
host
- host name of the HTTP server.port
- port number of the HTTP server.file
- name of the file on the remote side.length
- total size of the data to be transfered. Use -1 if unknown. The data then will be transfered in chunks.append
- if true, append data to existing file. Otherwise, the file will be overwritten.- Throws:
GassException
java.io.IOException
-
-
Method Detail
-
init
private void init(java.lang.String host, int port, java.lang.String file, long length, boolean append) throws GassException, java.io.IOException
- Throws:
GassException
java.io.IOException
-
sleep
private void sleep(int time)
-
put
protected void put(java.lang.String host, java.lang.String file, long length, int waittime) throws java.io.IOException
- Throws:
java.io.IOException
-
checkForReply
private void checkForReply() throws java.io.IOException
- Throws:
java.io.IOException
-
finish
private void finish() throws java.io.IOException
- Throws:
java.io.IOException
-
closeSocket
private void closeSocket()
-
abort
public void abort()
Description copied from class:GlobusOutputStream
Aborts transfer. Usually makes sure to release all resources (sockets, file descriptors)
Does nothing by default.- Overrides:
abort
in classGlobusOutputStream
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] msg) throws java.io.IOException
- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] msg, int from, int length) throws java.io.IOException
- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(int b) throws java.io.IOException
- Overrides:
write
in classGlobusOutputStream
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
-