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
_dummyStream
EepGet 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 void
doFetch(SocketTimeout timeout)
single fetchlong
getContentLength()
We don't decrement the variable (unlike in EepGet), so this is validprotected String
getRequest()
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.-
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
Description copied from class:EepGet
single fetch- Overrides:
doFetch
in classEepGet
- Parameters:
timeout
- may be null as of 0.9.49- Throws:
IOException
-
getRequest
protected String getRequest() throws IOException
- Overrides:
getRequest
in classEepGet
- Throws:
IOException
-
getContentLength
public long getContentLength()
We don't decrement the variable (unlike in EepGet), so this is valid
-
-