Package net.i2p.util
Class EepHead
- java.lang.Object
-
- net.i2p.util.EepGet
-
- net.i2p.util.EepHead
-
public class EepHead extends EepGet
This is a quick hack to get a working EepHead, primarily for the following usage:EepHead foo = new EepHead(...); if (foo.fetch()) { String lastmod = foo.getLastModified(); if (lastmod != null) { parse the string... ... } }Other use cases (command line, listeners, etc...) lightly- or un-tested. Note that this follows redirects! This may not be what you want or expect. Writing from scratch rather than extending EepGet would maybe have been less bloated memory-wise. This way gets us redirect handling, among other benefits.- Since:
- 0.7.7
- Author:
- zzz
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.i2p.util.EepGet
EepGet.AUTH_MODE, EepGet.AuthState, EepGet.CLIStatusListener, EepGet.Gunzipper, EepGet.StatusListener
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static OutputStream_dummyStreamEepGet needs either a non-null file or a stream...-
Fields inherited from class net.i2p.util.EepGet
_aborted, _actualURL, _alreadyTransferred, _authState, _bytesRemaining, _bytesTransferred, _contentType, _context, _currentAttempt, _decompressException, _encodingChunked, _etag, _etagOrig, _extraHeaders, _fetchHeaderTimeout, _fetchInactivityTimeout, _isGzippedResponse, _keepFetching, _lastModified, _lastModifiedOrig, _listeners, _log, _notModified, _numRetries, _out, _outputFile, _outputStream, _proxy, _proxyHost, _proxyIn, _proxyOut, _proxyPort, _redirectLocation, _redirects, _responseCode, _responseText, _shouldProxy, _shouldWriteErrorToOutput, _transferFailed, _url, CONNECT_TIMEOUT, INACTIVITY_TIMEOUT, MAX_COMPLETE_FAILS, USER_AGENT
-
-
Constructor Summary
Constructors Constructor Description EepHead(I2PAppContext ctx, String proxyHost, int proxyPort, int numRetries, String url)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoFetch(SocketTimeout timeout)return true if the URL was completely retrievedlonggetContentLength()We don't decrement the variable (unlike in EepGet), so this is validprotected StringgetRequest()static voidmain(String[] args)EepHead [-p 127.0.0.1:4444] [-n #retries] url This doesn't really do much since it doesn't register a listener.-
Methods inherited from class net.i2p.util.EepGet
addAuthorization, addHeader, addStatusListener, fetch, fetch, fetch, getContentType, getETag, getLastModified, getNotModified, getStatusCode, getStatusText, parseAuthArgs, readChunkLength, readHeaders, sendRequest, setWriteErrorToOutput, stopFetching, suggestName
-
-
-
-
Field Detail
-
_dummyStream
static final OutputStream _dummyStream
EepGet needs either a non-null file or a stream... shouldn't actually be written to...
-
-
Constructor Detail
-
EepHead
public EepHead(I2PAppContext ctx, String proxyHost, int proxyPort, int numRetries, String url)
-
-
Method Detail
-
main
public static void main(String[] args)
EepHead [-p 127.0.0.1:4444] [-n #retries] url This doesn't really do much since it doesn't register a listener. EepGet doesn't have a method to store and return all the headers, so just print out the ones we have methods for. Turn on logging to use it for a decent test.
-
doFetch
protected void doFetch(SocketTimeout timeout) throws IOException
return true if the URL was completely retrieved- Overrides:
doFetchin classEepGet- Parameters:
timeout- may be null- Throws:
IOException
-
getRequest
protected String getRequest() throws IOException
- Overrides:
getRequestin classEepGet- Throws:
IOException
-
getContentLength
public long getContentLength()
We don't decrement the variable (unlike in EepGet), so this is valid
-
-