Skip to content

Commit e212ce9

Browse files
committed
update for callApiConversion
1 parent c2df37b commit e212ce9

26 files changed

+19169
-4
lines changed

CADViewer_config.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"ServerPort" : 3000,
3-
"ServerUrl" : "http://localhost:3000",
4-
"ServerFrontEndUrl" : "http://localhost:8000",
3+
"ServerUrl" : "http://127.0.0.1:3000",
4+
"ServerFrontEndUrl" : "http://localhost/cadviewer/",
55
"ServerLocation" : "c:/nodejs/cadviewer-conversion-server/",
66
"fileLocation" : "c:/nodejs/cadviewer-conversion-server/converters/files/",
77
"fileLocationUrl" : "http://127.0.0.1:3000/converters/files/",
8-
"converterLocation" : "c:/nodejs/cadviewer-conversion-server/converters/ax2022/windows/",
98
"fontLocation" : "c:/nodejs/cadviewer-conversion-server/converters/ax2022/windows/fonts/",
9+
"converterLocation" : "c:/nodejs/cadviewer-conversion-server/converters/ax2022/windows/",
1010
"ax2020_executable" : "AX2022_W64_22_12_67.exe",
1111
"cvjs_svgz_compress" : true,
1212
"licenseLocation" : "c:/nodejs/cadviewer-conversion-server/converters/ax2022/windows/",

CV_6.8.65.js

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
// Version 6.8.63
2+
const express = require('express');
3+
const httprequest = require('request');
4+
const app = express();
5+
const bodyParser = require('body-parser');
6+
7+
const path = require('path');
8+
const fs = require('fs');
9+
10+
var config = require('./CADViewer_config.json');
11+
12+
// 6.5.09 - DLL load
13+
//var ffi = require('ffi');
14+
15+
var makesinglepagepdf = require("./routes/makesinglepagepdf_cv6.5.8.js");
16+
var makethumbnails = require("./routes/makethumbnails_cv6.5.8.js");
17+
var copyfile = require("./routes/copyfile_cv6.5.10.js");
18+
var savefile = require("./routes/savefile_cv6.5.10.js");
19+
var appendfile = require("./routes/appendfile_cv6.5.10.js");
20+
var getCADViewerContent = require("./routes/getcadviewercontent_cv6.5.15.js");
21+
var returnpdfparams = require("./routes/returnpdfparams_cv6.5.9.js");
22+
var returnpdfparams = require("./routes/returnpdfparams_cv6.5.9.js");
23+
var temp_print = require("./routes/temp_print_cv6.5.9.js");
24+
var files = require("./routes/files_cv6.5.9.js");
25+
var mergedwg = require("./routes/mergedwg_cv6.5.9.js");
26+
var loadfile = require("./routes/loadfile_cv6.5.9.js");
27+
var directload = require("./routes/directload_cv6.5.9.js");
28+
29+
var directload2 = require("./routes/directload2_cv6.7.45.js");
30+
var uploadfile = require("./routes/uploadfile_cv6.8.63.js");
31+
var saveredline = require("./routes/saveredline_cv6.7.45.js");
32+
var listdirectory = require("./routes/listdirectory_cv6.7.45.js");
33+
var listdirectoryredlines = require("./routes/listdirectoryredlines_cv6.7.45.js");
34+
var loadredline = require("./routes/loadredlines_cv6.7.46.js");
35+
var callapiconversion = require("./routes/callapiconversion_cv6.8.65.js");
36+
37+
38+
var cvjs_debug = config.cvjs_debug;
39+
var version = "CADViewer Server v6.8.65"
40+
41+
var port = config.ServerPort; // 3000 or 4000
42+
43+
44+
45+
var globalCounter = 0;
46+
47+
console.log("Version: "+version)
48+
console.log("ServerUrl: "+config.ServerUrl);
49+
console.log("ServerFrontEndUrl: "+config.ServerFrontEndUrl);
50+
console.log("ServerLocation: "+config.ServerLocation);
51+
console.log("Callback: "+config.callbackMethod);
52+
console.log("svgz_compress: "+config.cvjs_svgz_compress);
53+
console.log("debug: "+config.cvjs_debug);
54+
console.log("AX converter: "+config.ax2020_executable);
55+
console.log("LInkList converter: "+config.linklist2020_executable);
56+
57+
58+
//app.use(bodyParser.json()); // support json encoded bodies
59+
//app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
60+
61+
app.use(bodyParser.json({limit: '99mb', extended: true}))
62+
app.use(bodyParser.urlencoded({limit: '99mb', extended: true, parameterLimit: 50000 }));
63+
64+
65+
app.use(function(req, res, next) {
66+
res.header("Access-Control-Allow-Origin", "*"); // update to match the domain you will make the request from
67+
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
68+
next();
69+
});
70+
71+
72+
// CADViewer - handlers
73+
74+
app.post('/returnpdfparams', returnpdfparams);
75+
app.post('/loadredline', loadredline);
76+
app.post('/uploadfile', uploadfile);
77+
app.post('/makesinglepagepdf', makesinglepagepdf);
78+
app.post('/makethumbnails', makethumbnails);
79+
app.post('/copyfile', copyfile);
80+
app.post('/listdirectory', listdirectory);
81+
app.post('/listdirectoryredlines', listdirectoryredlines);
82+
app.post('/saveredline', saveredline);
83+
app.post('/savefile', savefile);
84+
app.post('/appendfile', appendfile);
85+
app.get('/getcadviewercontent', getCADViewerContent);
86+
app.get('/callapiconversion', callapiconversion);
87+
app.post('/callapiconversion', callapiconversion);
88+
app.post('/returnpdfparams', returnpdfparams);
89+
app.get('/temp_print', temp_print);
90+
app.get('/files', files);
91+
app.post('/mergedwg', mergedwg);
92+
app.get('/loadfile', loadfile);
93+
app.post('/loadfile', loadfile);
94+
app.get('/directload', directload);
95+
96+
97+
98+
99+
100+
// 6.4.34 - loading of content for print Modal
101+
102+
app.get('/app/*', (req, res) => {
103+
104+
try{
105+
var inputFile = req.path;
106+
inputFile = decodeURI(inputFile);
107+
inputFile = inputFile.replace(/%3A/g, ':');
108+
inputFile = inputFile.replace(/%2F/g, '/');
109+
inputFile = inputFile.replace(/%20/g, ' ');
110+
111+
inputFile = config.ServerLocation + inputFile
112+
113+
var fs = require('fs');
114+
fs.readFile( inputFile, 'utf8', function(err, data) {
115+
if (err){
116+
//throw err;
117+
res.send("error - get /app/* "+err); // no file
118+
if (config.cvjs_debug) console.log(err);
119+
}
120+
else
121+
122+
res.send(data);
123+
// send string back up to request
124+
});
125+
// res.send("flat /app/* path:"+req.path);
126+
}
127+
catch(e){
128+
res.send("error - get /app/*"); // no file
129+
if (config.cvjs_debug) console.log("error - get /app/*"+e);
130+
}
131+
});
132+
133+
app.get('/converters/files/*', (req, res) => {
134+
135+
try{
136+
137+
var inputFile = req.path;
138+
inputFile = decodeURI(inputFile);
139+
inputFile = inputFile.replace(/%3A/g, ':');
140+
inputFile = inputFile.replace(/%2F/g, '/');
141+
inputFile = inputFile.replace(/%20/g, ' ');
142+
143+
inputFile = config.ServerLocation + inputFile
144+
145+
var fs = require('fs');
146+
fs.readFile( inputFile, 'utf8', function(err, data) {
147+
if (err){
148+
//throw err;
149+
res.send("error - get /content/files/* "+err); // no file
150+
if (config.cvjs_debug) console.log(err);
151+
}
152+
else
153+
154+
// if it is a svg we have to parse that...
155+
if (inputFile.indexOf(".svg")>-1){
156+
157+
var xmlheader = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
158+
var xmllength = xmlheader.length;
159+
if (config.cvjs_debug) console.log("xml length "+xmllength);
160+
161+
if (data.indexOf(xmlheader) == 0)
162+
data = data.substring(xmllength)
163+
164+
res.header("Content-Type","image/svg+xml");
165+
res.send(data);
166+
167+
}
168+
else{
169+
// other files we just pass back
170+
res.send(data);
171+
}
172+
173+
// send string back up to request
174+
});
175+
}
176+
catch(e){
177+
res.send("error - get /content/files/*"); // no file
178+
if (config.cvjs_debug) console.log("error - get /content/files/*"+e);
179+
}
180+
});
181+
182+
183+
184+
// TEST CONTENT
185+
186+
// test + direct load parameter
187+
// loadfile get
188+
app.get('/helloworld', function (req, res) {
189+
if (config.cvjs_debug) console.log("hello ");
190+
res.send("hello world!");
191+
});
192+
193+
194+
195+
app.get('/favicon.ico', (req, res) => res.status(204));
196+
197+
198+
app.get('/*', directload2); // direct load all other
199+
200+
201+
202+
203+
204+
205+
206+
/**
207+
app.get('/loadsvgz', function (req, res) {
208+
//res.send("hello svgz");
209+
210+
var mime = require('mime');
211+
// inputFile = config.ServerLocation + "/content/drawings/svg/1st.svg";
212+
// inputFile = config.ServerLocation + "/content/drawings/svg/lightning2a.txt";
213+
inputFile = config.ServerLocation + "/content/drawings/svg/f4.svgz";
214+
if (config.cvjs_debug) console.log("hello svgz "+inputFile);
215+
216+
var fs = require('fs');
217+
fs.readFile( inputFile, function(err, data) {
218+
if (err){
219+
//throw err;
220+
res.send("error - get /app/* "+err); // no file
221+
if (config.cvjs_debug) console.log(err);
222+
}
223+
else{
224+
225+
if (config.cvjs_debug) console.log("hello svgz: data=");
226+
227+
var zlib = require('zlib');
228+
zlib.gunzip(data, {chunkSize: 65536}, function (err, data) {
229+
230+
var buf = new Buffer(data, 'utf-8');
231+
232+
zlib.gzip(buf, function(_, result) {
233+
res.setHeader('Content-Type', 'image/svg+xml');
234+
res.setHeader('Content-Encoding', 'gzip');
235+
res.send(result);
236+
});
237+
});
238+
}
239+
});
240+
});
241+
242+
*/
243+
// TEST CONTENT
244+
245+
246+
247+
app.listen(port, () => console.log('CADViewer Server is listening on port:'+port+'!'))
248+
249+
//app.listen(3000, '127.0.0.1');
250+
251+
/**
252+
app.listen(3000,'127.0.0.1',function(){
253+
if (config.cvjs_debug) console.log('Server running at http://127.0.1.1:3000/')
254+
})
255+
**/

0 commit comments

Comments
 (0)