mirror of
https://github.com/ONLYOFFICE/document-server-integration.git
synced 2026-04-07 14:06:11 +08:00
nodejs: method POST since 4.2
This commit is contained in:
@ -234,7 +234,7 @@ app.get("/convert", function (req, res) {
|
||||
try {
|
||||
if (configServer.get('convertedDocs').indexOf(fileExt) != -1) {
|
||||
var key = documentService.generateRevisionId(fileUri);
|
||||
documentService.getConvertedUriAsync(fileUri, fileExt, internalFileExt, key, callback);
|
||||
documentService.getConvertedUri(fileUri, fileExt, internalFileExt, key, true, callback);
|
||||
} else {
|
||||
writeResult(fileName, null, null);
|
||||
}
|
||||
@ -290,9 +290,7 @@ app.post("/track", function (req, res) {
|
||||
|
||||
var processTrack = function (response, body, fileName, userAddress) {
|
||||
|
||||
var processSave = function (body, fileName, userAddress, newVersion) {
|
||||
|
||||
var downloadUri = body.url;
|
||||
var processSave = function (downloadUri, body, fileName, userAddress, resp, newVersion) {
|
||||
var curExt = fileUtility.getFileExtension(fileName);
|
||||
var downloadExt = fileUtility.getFileExtension(downloadUri);
|
||||
|
||||
@ -300,7 +298,10 @@ app.post("/track", function (req, res) {
|
||||
var key = documentService.generateRevisionId(downloadUri);
|
||||
|
||||
try {
|
||||
downloadUri = documentService.getConvertedUri(downloadUri, downloadExt, curExt, key);
|
||||
documentService.getConvertedUriSync(downloadUri, downloadExt, curExt, key, function(dUri){
|
||||
processSave(dUri, body, fileName, userAddress, resp, newVersion)
|
||||
});
|
||||
return;
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
fileName = docManager.getCorrectName(fileUtility.getFileName(fileName, true) + downloadExt, userAddress)
|
||||
@ -348,6 +349,9 @@ app.post("/track", function (req, res) {
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
}
|
||||
|
||||
response.write("{\"error\":0}");
|
||||
response.end();
|
||||
}
|
||||
|
||||
if (body.status == 1) { //Editing
|
||||
@ -362,14 +366,14 @@ app.post("/track", function (req, res) {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (body.status == 2 || body.status == 3) { //MustSave, Corrupted
|
||||
processSave(body, fileName, userAddress, true);
|
||||
} else if (body.status == 6 || body.status == 7) { //MustForceSave, CorruptedForceSave
|
||||
processSave(body, fileName, userAddress);
|
||||
}
|
||||
|
||||
response.write("{\"error\":0}");
|
||||
response.end();
|
||||
response.write("{\"error\":0}");
|
||||
response.end();
|
||||
} else if (body.status == 2 || body.status == 3) { //MustSave, Corrupted
|
||||
processSave(body.url, body, fileName, userAddress, response, true);
|
||||
} else if (body.status == 6 || body.status == 7) { //MustForceSave, CorruptedForceSave
|
||||
processSave(body.url, body, fileName, userAddress, response);
|
||||
}
|
||||
}
|
||||
|
||||
var readbody = function (request, response, fileName, userAddress) {
|
||||
|
||||
@ -34,37 +34,49 @@ var siteUrl = configServer.get('siteUrl');
|
||||
|
||||
var documentService = {};
|
||||
|
||||
documentService.convertParams = "?url={0}&outputtype={1}&filetype={2}&title={3}&key={4}";
|
||||
documentService.storageParams = "?key={0}";
|
||||
documentService.commandParams = "?c={0}&key={1}";
|
||||
documentService.userIp = null;
|
||||
|
||||
documentService.getConvertedUri = function (documentUri, fromExtension, toExtension, documentRevisionId) {
|
||||
var xml = documentService.sendRequestToConvertService(documentUri, fromExtension, toExtension, documentRevisionId);
|
||||
|
||||
var res = documentService.getResponseUri(xml);
|
||||
|
||||
return res.value;
|
||||
documentService.getConvertedUriSync = function (documentUri, fromExtension, toExtension, documentRevisionId, callback) {
|
||||
documentService.getConvertedUri(documentUri, fromExtension, toExtension, documentRevisionId, false, function (err, data) {
|
||||
if (err) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
var res = documentService.getResponseUri(data);
|
||||
callback(res.value);
|
||||
});
|
||||
};
|
||||
|
||||
documentService.getConvertedUriAsync = function (documentUri, fromExtension, toExtension, documentRevisionId, callback) {
|
||||
documentService.getConvertedUri = function (documentUri, fromExtension, toExtension, documentRevisionId, async, callback) {
|
||||
fromExtension = fromExtension || fileUtility.getFileExtension(documentUri);
|
||||
|
||||
var title = fileUtility.getFileName(documentUri) || guidManager.newGuid();
|
||||
|
||||
documentRevisionId = documentService.generateRevisionId(documentRevisionId || documentUri);
|
||||
|
||||
var params = documentService.convertParams.format(
|
||||
encodeURIComponent(documentUri),
|
||||
toExtension.replace(".", ""),
|
||||
fromExtension.replace(".", ""),
|
||||
title,
|
||||
documentRevisionId);
|
||||
var params = {
|
||||
async: async,
|
||||
url: documentUri,
|
||||
outputtype: toExtension.replace(".", ""),
|
||||
filetype: fromExtension.replace(".", ""),
|
||||
title: title,
|
||||
key: documentRevisionId
|
||||
};
|
||||
|
||||
urllib.request(siteUrl + configServer.get('converterUrl') + params, callback);
|
||||
urllib.request(siteUrl + configServer.get('converterUrl'),
|
||||
{
|
||||
method: "POST", headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: params
|
||||
},
|
||||
callback);
|
||||
};
|
||||
|
||||
documentService.getExternalUri = function (fileStream, contentLength, contentType, documentRevisionId) {
|
||||
var params = documentService.convertParams.format("", "", "", "", documentRevisionId);
|
||||
var params = documentService.storageParams.format(documentRevisionId);
|
||||
|
||||
var urlTostorage = siteUrl + configServer.get('storageUrl') + params;
|
||||
|
||||
@ -92,24 +104,6 @@ documentService.generateRevisionId = function (expectedKey) {
|
||||
return key.substring(0, Math.min(key.length, 20));
|
||||
};
|
||||
|
||||
documentService.sendRequestToConvertService = function (documentUri, fromExtension, toExtension, documentRevisionId) {
|
||||
fromExtension = fromExtension || fileUtility.getFileExtension(documentUri);
|
||||
|
||||
var title = fileUtility.getFileName(documentUri) || guidManager.newGuid();
|
||||
|
||||
documentRevisionId = documentService.generateRevisionId(documentRevisionId || documentUri);
|
||||
|
||||
var params = documentService.convertParams.format(
|
||||
encodeURIComponent(documentUri),
|
||||
toExtension.replace(".", ""),
|
||||
fromExtension.replace(".", ""),
|
||||
title,
|
||||
documentRevisionId);
|
||||
|
||||
var res = syncRequest("GET", siteUrl + configServer.get('converterUrl') + params);
|
||||
return res.getBody("utf8");
|
||||
};
|
||||
|
||||
documentService.processConvertServiceResponceError = function (errorCode) {
|
||||
var errorMessage = "";
|
||||
var errorMessageTemplate = "Error occurred in the ConvertService: ";
|
||||
|
||||
Reference in New Issue
Block a user