Commit Graph
839 Commits
Author SHA1 Message Date
Noah Levitt c03273230b sendIfModifiedSince 2012-09-02 13:00:01 -07:00
Noah Levitt f3963d5f89 convenience method CrawlURI.getFetchHistory() 2012-09-02 12:25:19 -07:00
Noah Levitt 1fe4781cf5 axLengthBytes, sendRange 2012-09-02 01:37:00 -07:00
Noah Levitt 2d8687e55c maxFetchKBSec 2012-09-01 23:05:50 -07:00
Noah Levitt 5cb3b914e8 Merge branch 'master' into fetchhttp-hc 2012-09-01 22:11:59 -07:00
Noah Levitt d0882a18e6 * AbstractPersistProcessor.java
shouldStore() - only save persist record if http, https or ftp
2012-09-01 22:09:30 -07:00
Noah Levitt 3f2295353a test dependencies belong in engine/ now too 2012-08-30 12:16:25 -07:00
Noah Levitt cdd95cbb1f move FetchHTTP*Test* to engine/ subproject because testFormAuth() makes use of PreconditionEnforcer, part of engine/, and we want to keep that test 2012-08-30 09:55:20 -07:00
Noah Levitt f502292eef commons-codec was already pulled in from elsewhere 2012-08-29 19:06:37 -07:00
Noah Levitt 731d382ae0 fetchhttp2 support for proxy auth, somewhat elaborately done, sharing principles and code with http "target" auth 2012-08-29 17:41:50 -07:00
Noah Levitt 0e02aa3523 check for Proxy-Connection header, but don't worry about the value for now (does it matter?) 2012-08-29 11:12:49 -07:00
Noah Levitt b112fdd9f7 http proxy support for FetchHTTP2; also, avoid credentials contamination across requests and across threads 2012-08-29 10:57:28 -07:00
Noah Levitt c17f74a7b0 add check that our little proxy server really handled a request 2012-08-29 10:06:20 -07:00
Noah Levitt a2d65044f0 progress on http proxy test 2012-08-28 18:25:53 -07:00
Noah Levitt 6c1b762fe4 remove unnecessary finally blocks unsetting test settings, since each test gets a fresh fetcher 2012-08-28 16:57:45 -07:00
Noah Levitt 0d65d7e446 Fix for HER-2019 fetchHTTP httpBindAddress setting doesn't take effect
* FetchHTTP.java
    use keyed properties for httpBindAddress setting, as expected in configureBindAddress(CrawlURI, HostConfiguration)
2012-08-28 16:03:17 -07:00
Noah Levitt 2be26573ba httpBindAddress 2012-08-28 16:00:14 -07:00
Travis Wellman 60954dbbc0 set accept compression back to false (shared) 2012-08-27 18:44:55 -07:00
Travis Wellman bc71578c68 testing setAcceptCompression 2012-08-27 18:41:49 -07:00
Noah Levitt 6eb1e4cefd Merge branch 'master' into fetchhttp-hc
Conflicts:
	modules/src/main/java/org/archive/modules/CoreAttributeConstants.java
	modules/src/main/java/org/archive/modules/CrawlURI.java
	modules/src/main/java/org/archive/modules/credential/Credential.java
	modules/src/main/java/org/archive/modules/credential/HtmlFormCredential.java
	modules/src/main/java/org/archive/modules/credential/HttpAuthenticationCredential.java
	modules/src/main/java/org/archive/modules/extractor/ExtractorHTTP.java
	modules/src/main/java/org/archive/modules/fetcher/FetchHTTP.java
	modules/src/main/java/org/archive/modules/net/CrawlServer.java
2012-08-24 14:28:33 -07:00
Noah Levitt 9c00bd009e form auth 2012-08-21 16:40:47 -07:00
Noah Levitt bc30eabe72 disable automatic redirect handling 2012-08-21 15:48:06 -07:00
Noah Levitt 6941842fa8 make http auth work in FetchHTTP2 the new good way, like we did with FetchHTTP 2012-08-21 15:23:31 -07:00
Noah Levitt f072dfc83c * Credential.java, HtmlFormCredential.java, HttpAuthenticationCredential.java
bump serialVersionUID because of changed method signature on populate()
2012-08-16 12:28:19 -07:00
Noah Levitt 0144df024e Real fix for HER-2016 FetchHTTP tries every url twice without credentials before sending credentials: Remember WWW-Authenticate headers, aka auth challenges, with CrawlURI, and after successful auth, with the CrawlServer. It's necessary to do this to know what Authorization header to send without getting another 401 first.
* CoreAttributeConstants.java
    new constant A_HTTP_AUTH_CHALLENGES key for CrawlURI.getData() for http auth challenges
* CrawlURI.java
    add A_HTTP_AUTH_CHALLENGES to keys to remember across URI processing; convenience getter and setter for auth challenges
* Credential.java, HtmlFormCredential.java, HttpAuthenticationCredential.java
    add httpAuthChallenges argument to populate()
* HttpAuthenticationCredential.java
    populate() - process httpAuthChallenges to set up auth state of http client to send the right auth header
* CrawlServer.java
    cache httpAuthChallenges
* FetchHTTP.java
    getAuthScheme() - cache auth challenges with CrawlURI
    configureHttp() - do not set authentication preemptive - this is handled by the configuration done in HttpAuthenticationCredential.populate()
    promoteCredentials() - cache auth challenges with the CrawlServer
2012-08-16 12:17:01 -07:00
Noah Levitt 201e941b69 tell CrawlURI to remember auth challenges across URI processings; couple other tweaks 2012-08-16 12:00:17 -07:00
Noah Levitt 883ca25925 remember www-authenticate headers to make http auth work as intended, without lots of extra 401s 2012-08-15 22:11:34 -07:00
Noah Levitt 5272b0b8c8 make form auth test work and test stuff for real 2012-08-15 13:53:27 -07:00
Noah Levitt eb3419aa59 deprecate method (GET/POST) in HtmlFormCredential, since PreconditionEnforcer always sets fetch type of login urls to POST (who sends password in a GET request anyway?) 2012-08-15 13:53:07 -07:00
Kenji Nagahashi 541c2ecfe4 Merge branch 'master' into reuse-htmllinkcontext 2012-07-31 12:25:16 -07:00
Noah Levitt 864fea938b working on form auth test 2012-07-27 19:13:19 -07:00
Noah Levitt d71fbb3a1a stick a basic auth 401 in the middle of testDigestAuth to check it doesn't mess with the digest auth we're working on 2012-07-26 18:45:29 -07:00
Noah Levitt 3efe8221cf commons-httpclient, don't try to handle 401s internally 2012-07-26 18:44:30 -07:00
Noah Levitt 4e50c32578 Merge branch 'master' into fetchhttp-hc
Conflicts:
	modules/src/main/java/org/archive/modules/fetcher/FetchHTTP.java
2012-07-20 21:36:23 -07:00
Noah Levitt 6f4053cab7 HER-2016 FetchHTTP tries every url twice without credentials before sending credentials
* FetchHTTP.java
    configureHttp() - enable preemptive authentication parameter
    innerProcess() - do not call method.setDoAuthentication() (it's for automatic 401 handling which is not what we want)
2012-07-19 13:15:27 -07:00
Noah Levitt 9073d12f96 Revert "HER-2015 credentials cached to server never used"
This reverts commit 37a8504fda.
2012-07-19 12:36:05 -07:00
Noah Levitt 93c3a706dd Merge branch 'master' into fetchhttp-hc
Conflicts:
	modules/src/main/java/org/archive/modules/fetcher/FetchHTTP.java
2012-07-16 20:05:05 -07:00
Noah Levitt 37a8504fda HER-2015 credentials cached to server never used
* FetchHTTP.java
    populateCredentials() - return true when credentials populated from server cache
2012-07-16 20:02:56 -07:00
Noah Levitt ea7e7ed304 check that successful basic/digest auth credentials are cached with server and volunteered on subsequent requests 2012-07-16 19:33:11 -07:00
Noah Levitt cb6be2e9ca license header 2012-07-16 18:07:11 -07:00
Noah Levitt fe739e8c2e remove unnecessary dependency on httpcomponents from CrawlURI 2012-07-16 17:45:44 -07:00
Noah Levitt 82c983d2b3 Merge branch 'master' into fetchhttp-hc
Conflicts:
	modules/src/main/java/org/archive/modules/fetcher/FetchHTTP.java

(conflicts are resolved)
2012-07-15 11:58:41 -07:00
Noah Levitt daac7fb96f more work on http authentication (is it done now?) digest auth test passes 2012-07-15 11:56:30 -07:00
Travis Wellman 1eb5ba704e Merge commit '787f7d' 2012-07-11 13:51:13 -07:00
Travis Wellman d0add8c186 Merge branch 'master' of github.com:internetarchive/heritrix3 2012-07-11 13:50:28 -07:00
Travis Wellman 787f7d9234 If the URI doesn't have a path, don't count segments.
* TooManyPathSegmentsDecideRule#evaluate(CrawlURI)
    return false if a path can't be obtained from the uri
2012-07-11 13:40:01 -07:00
Travis Wellman 9505edc9c3 fix for null paths
* TooManyPathSegmentsDecideRule
    Sometimes the path is null, throwing a NPE when the loop in evaluate(CrawlURI)
    is entered. In such a case, revert to previous behavior.
2012-07-10 18:01:53 -07:00
Travis Wellman c1a0525107 suppress unused warnings for serialVersionUid
Toward the goal of having Eclipse warnings be useful to look at, suppressing
unused warnings for serialVersionUid will significantly reduce clutter.
2012-07-10 14:12:33 -07:00
Travis Wellman 4b047dba64 count path segments by looking at the path
* TooManyPathSegmentsDecideRule
    evaluate(CrawlURI) previously counted slashes in the full URI.
    Now it only counts slashes in the path of the URI, meaning a URI
    with slashes in the query string will not be counted as having more
    path segments than it has in its path.
2012-07-03 13:13:50 -07:00
Noah Levitt 3f58893d1e disassociate Credential type from commons-httpclient library by moving populate() method into utility class 2012-07-02 17:34:23 -07:00