Skip to content

Commit

Permalink
fix #1 (Ne fonctionne pas en passant par un proxy)
Browse files Browse the repository at this point in the history
  • Loading branch information
kerphi committed Aug 27, 2015
1 parent 35b8717 commit a8af215
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 12 deletions.
27 changes: 15 additions & 12 deletions nodejs/istex-api-harvester.njs
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ program
.option('-s, --size [size]', "Quantité de documents à télécharger", 10)
.option('-md, --metadata [formats]', "Pour retourner seulement certain formats de metadata (ex: mods,xml)", "all")
.option('-ft, --fulltext [formats]', "Pour retourner seulement certain formats de plein text (ex: tei,pdf)", "")
.option('-u, --username [username]', "Nom d'utilisateur ISTEX", '')
.option('-p, --password [password]', "Mot de passe ISTEX", '')
.option('-u, --username [username]', "Nom d'utilisateur ISTEX", '')
.option('-p, --password [password]', "Mot de passe ISTEX", '')
.option('-v, --verbose', "Affiche plus d'informations", false)
.parse(process.argv);

Expand All @@ -41,6 +41,15 @@ for (var page = 0; page < nbPages; page++) {
};
ranges.push([ nbPages * nbHitPerPage, nbLastPage ]);

// paramétrage de l'éventuel proxy http sortant
// en passant par la variable d'environnement http_proxy
require('superagent-proxy')(request);
var httpProxy = process.env.http_proxy || '';
function prepareHttpGetRequest(url) {
var agent = request.agent();
return httpProxy ? agent.get(url).proxy(httpProxy) : agent.get(url);
}

// lance les recherches et les téléchargements
console.log("Téléchargement des " + program.size +
" premiers documents (metadata & fulltext) ici : " + dstPath);
Expand Down Expand Up @@ -93,9 +102,7 @@ function downloadPage(range, cb, cbBody) {
// to ignore bad https certificate
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

var agent = request.agent();
agent
.get(url)
prepareHttpGetRequest(url)
.auth(program.username, program.password)
.end(function (err, res) {
if (err) {
Expand Down Expand Up @@ -130,7 +137,7 @@ function downloadPage(range, cb, cbBody) {
+ (meta.original ? 'original.' : '')
+ (meta.mimetype.indexOf(meta.extension) === -1 ? '.' + meta.extension + '.' : '')
+ meta.mimetype.split('/').pop().replace('+', '.'));
var req = request.get(meta.uri).auth(program.username, program.password);
var req = prepareHttpGetRequest(meta.uri).auth(program.username, program.password);
req.pipe(stream);
stream.on('finish', function () {
callback(null);
Expand Down Expand Up @@ -197,9 +204,7 @@ function downloadPage(range, cb, cbBody) {
*/
function checkIfAuthNeeded(cb) {
var url = 'https://api.istex.fr/auth'; // document protégé
var agent = request.agent();
agent
.get(url)
prepareHttpGetRequest(url)
.auth(program.username, program.password)
.end(function (err, res) {
if (err) {
Expand Down Expand Up @@ -244,9 +249,7 @@ function askLoginPassword(cb) {
program.username = results.username;
program.password = results.password;
var url = 'https://api.istex.fr/corpus/';
var agent = request.agent();
agent
.get(url)
prepareHttpGetRequest(url)
.auth(program.username, program.password)
.end(function (err, res) {
if (err) {
Expand Down
1 change: 1 addition & 0 deletions nodejs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"mkdirp": "~0.3.5",
"prompt": "^0.2.14",
"superagent": "~0.15.2",
"superagent-proxy": "^1.0.0",
"uuid": "~1.4.1"
},
"bin": {
Expand Down

0 comments on commit a8af215

Please sign in to comment.