OutputStream out = null;
HttpURLConnection conn;
int hash = content.getContentHash();
try {
ByteContainer bc = content.contentAsBytes();
if (bc != null) { // most efficient, yay
if (hash == HashConstants.NO_CHECKSUM) {
hash = _keyConverter.contentHashFor(bc);
content.setContentHash(hash);
}
path = addChecksum(path, hash);
URL url = path.asURL();
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setFixedLengthStreamingMode(bc.byteLength());
conn = initRequest("PUT", conn, path, timeoutMsecs);
out = conn.getOutputStream();
bc.writeBytes(out);
} else {
InputStream in; // closed in copy()
File f = content.contentAsFile();
// !!! TODO: add wrapper for calculating hash sum, if not yet calculated
if (f != null) {