Bonjour tout le monde,
Je cherche a faire une appli qui me permet de récupérer des étiquettes type Colissimo depuis un appel du module étiquetage de notre boutique vers un service web local.
J'ai reussi a faire cette partie ainsi qu'a imprimer, mais je pense qu'il passer par un truc genre file d'attente pour imprimer au fil de l'eau les étiquettes téléchargées.

Voici ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
var fs = require('fs');
var http = require('http');
var https = require('https');
 
var hskey = fs.readFileSync('sslcert/key.pem');
var hscert = fs.readFileSync('sslcert/cert.pem')
 
var credentials = {
    key: hskey,
    cert: hscert
};
 
var express = require('express');
var app = express();
 
app.get('/', function (req, res) {
 
  res.send('Hello World!');
});
 
app.get('/setPrinter/:printer', function(req, res) {
 
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With');   
    res.header('Content-Type', 'application/json' ); 
 
    console.log(req.params.printer);
 
    res.json({'response': 'OK','error': ''});   
});
 
app.get('/getPrinters', function(req, res) {
 
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With');   
    res.header('Content-Type', 'application/json' ); 
 
    res.json({'response': 'Datamax','error': ''});    
});
 
var bodyParser = require('body-parser');
var request = require('request');
var net = require('net');
 
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
 
// Création d'une route post
app.post('/printFileByURL', function(req, res) {
 
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With');   
    res.header('Content-Type', 'application/json' ); 
 
    urlToPrint = Object.keys(req.body)[0];
 
    request.get({
        url: urlToPrint
    }, function(error, response, body) {
        if (!error && response.statusCode == 200) {
 
            var client = new net.Socket();
            client.connect(9100, '192.168.10.225', function() {
                console.log('Connected');
                client.write(body);
                console.log('Impression en cours');
            });
 
            res.json({'response': 'OK','error': ''}); 
 
        } else {
            res.json({'response': '','error': 'Impossible de recuperer l\'etiquette'}); 
        }
    });
 
});
 
var httpsServer = https.createServer(credentials, app);
httpsServer.listen(4568, function () {
    console.log('Example app listening on port 4568!');
  });
 
 
// app.listen(4568, function () {
//     console.log('Example app listening on port 4568!');
//   });
J'imagine qu'il faut avoir une autre appli ou un autre thread qui ecouterai un eventuel buffer ...
Auriez vous des idées ou des infos ??

Merci par avance