Compare commits

..

4 Commits

Author SHA1 Message Date
54993942bf java: json response 2017-10-06 16:06:41 +03:00
f2301ecbbf java: fix opening editor 2017-10-06 16:06:01 +03:00
f09f62103c java: formatting 2017-10-06 16:05:44 +03:00
e1e3357748 nodejs: json response 2017-09-28 18:40:18 +03:00
10 changed files with 237 additions and 301 deletions

View File

@ -39,8 +39,8 @@ import entities.FileModel;
@WebServlet(name = "EditorServlet", urlPatterns = {"/EditorServlet"})
public class EditorServlet extends HttpServlet {
public class EditorServlet extends HttpServlet
{
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String fileName = "";
@ -87,17 +87,20 @@ public class EditorServlet extends HttpServlet {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
public String getServletInfo()
{
return "Editor page";
}
}

View File

@ -38,61 +38,62 @@ import javax.net.ssl.X509TrustManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class GlobalServletContextListener implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("ServletContextListener destroyed");
}
public class GlobalServletContextListener implements ServletContextListener
{
@Override
public void contextDestroyed(ServletContextEvent arg0)
{
System.out.println("ServletContextListener destroyed");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers()
{
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType)
{
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType)
{
}
}
};
SSLContext sc;
try
@Override
public void contextInitialized(ServletContextEvent arg0)
{
TrustManager[] trustAllCerts = new TrustManager[]
{
new X509TrustManager()
{
sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
catch (NoSuchAlgorithmException | KeyManagementException ex)
{
}
HostnameVerifier allHostsValid = new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
public java.security.cert.X509Certificate[] getAcceptedIssuers()
{
return null;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType)
{
}
System.out.println("ServletContextListener started");
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType)
{
}
}
};
SSLContext sc;
try
{
sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
catch (NoSuchAlgorithmException | KeyManagementException ex)
{
}
HostnameVerifier allHostsValid = new HostnameVerifier()
{
@Override
public boolean verify(String hostname, SSLSession session)
{
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
System.out.println("ServletContextListener started");
}
}

View File

@ -50,10 +50,10 @@ import org.json.simple.parser.JSONParser;
@WebServlet(name = "IndexServlet", urlPatterns = {"/IndexServlet"})
@MultipartConfig
public class IndexServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
public class IndexServlet extends HttpServlet
{
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String action = request.getParameter("type");
if(action == null)
@ -65,7 +65,8 @@ public class IndexServlet extends HttpServlet {
DocumentManager.Init(request, response);
PrintWriter writer = response.getWriter();
switch (action.toLowerCase()) {
switch (action.toLowerCase())
{
case "upload":
Upload(request, response, writer);
break;
@ -76,11 +77,11 @@ public class IndexServlet extends HttpServlet {
Track(request, response, writer);
break;
}
}
private static void Upload(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) {
private static void Upload(HttpServletRequest request, HttpServletResponse response, PrintWriter writer)
{
response.setContentType("text/plain");
try
@ -88,20 +89,24 @@ public class IndexServlet extends HttpServlet {
Part httpPostedFile = request.getPart("file");
String fileName = "";
for (String content : httpPostedFile.getHeader("content-disposition").split(";")) {
if (content.trim().startsWith("filename")) {
for (String content : httpPostedFile.getHeader("content-disposition").split(";"))
{
if (content.trim().startsWith("filename"))
{
fileName = content.substring(content.indexOf('=') + 1).trim().replace("\"", "");
}
}
long curSize = httpPostedFile.getSize();
if (DocumentManager.GetMaxFileSize() < curSize || curSize <= 0) {
if (DocumentManager.GetMaxFileSize() < curSize || curSize <= 0)
{
writer.write("{ \"error\": \"File size is incorrect\"}");
return;
}
String curExt = FileUtility.GetFileExtension(fileName);
if (!DocumentManager.GetFileExts().contains(curExt)) {
if (!DocumentManager.GetFileExts().contains(curExt))
{
writer.write("{ \"error\": \"File type is not supported\"}");
return;
}
@ -113,10 +118,12 @@ public class IndexServlet extends HttpServlet {
File file = new File(fileStoragePath);
try (FileOutputStream out = new FileOutputStream(file)) {
try (FileOutputStream out = new FileOutputStream(file))
{
int read;
final byte[] bytes = new byte[1024];
while ((read = fileStream.read(bytes)) != -1) {
while ((read = fileStream.read(bytes)) != -1)
{
out.write(bytes, 0, read);
}
@ -162,15 +169,18 @@ public class IndexServlet extends HttpServlet {
java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
InputStream stream = connection.getInputStream();
if (stream == null) {
if (stream == null)
{
throw new Exception("Stream is null");
}
File convertedFile = new File(DocumentManager.StoragePath(correctName, null));
try (FileOutputStream out = new FileOutputStream(convertedFile)) {
try (FileOutputStream out = new FileOutputStream(convertedFile))
{
int read;
final byte[] bytes = new byte[1024];
while ((read = stream.read(bytes)) != -1) {
while ((read = stream.read(bytes)) != -1)
{
out.write(bytes, 0, read);
}
@ -195,7 +205,8 @@ public class IndexServlet extends HttpServlet {
}
}
private static void Track(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) {
private static void Track(HttpServletRequest request, HttpServletResponse response, PrintWriter writer)
{
String userAddress = request.getParameter("userAddress");
String fileName = request.getParameter("fileName");
@ -248,15 +259,18 @@ public class IndexServlet extends HttpServlet {
java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
InputStream stream = connection.getInputStream();
if (stream == null) {
if (stream == null)
{
throw new Exception("Stream is null");
}
File savedFile = new File(storagePath);
try (FileOutputStream out = new FileOutputStream(savedFile)) {
try (FileOutputStream out = new FileOutputStream(savedFile))
{
int read;
final byte[] bytes = new byte[1024];
while ((read = stream.read(bytes)) != -1) {
while ((read = stream.read(bytes)) != -1)
{
out.write(bytes, 0, read);
}
@ -276,20 +290,21 @@ public class IndexServlet extends HttpServlet {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
public String getServletInfo()
{
return "Handler";
}
}

View File

@ -27,7 +27,8 @@
package entities;
public enum FileType {
public enum FileType
{
Text,
Spreadsheet,
Presentation

View File

@ -30,8 +30,8 @@ package helpers;
import java.io.InputStream;
import java.util.Properties;
public class ConfigManager {
public class ConfigManager
{
private static Properties properties;
static
@ -53,7 +53,8 @@ public class ConfigManager {
}
}
public static String GetProperty(String name){
public static String GetProperty(String name)
{
if(properties == null)
return "";

View File

@ -44,7 +44,8 @@ public class DocumentManager
{
private static HttpServletRequest request;
public static void Init(HttpServletRequest req, HttpServletResponse resp){
public static void Init(HttpServletRequest req, HttpServletResponse resp)
{
request = req;
}
@ -157,25 +158,20 @@ public class DocumentManager
{
String demoName = "sample." + fileExt;
String fileName = GetCorrectName(demoName);
try
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(demoName);
File file = new File(StoragePath(fileName, null));
try (FileOutputStream out = new FileOutputStream(file))
{
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(demoName);
File file = new File(StoragePath(fileName, null));
try (FileOutputStream out = new FileOutputStream(file)) {
int read;
final byte[] bytes = new byte[1024];
while ((read = stream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
out.flush();
int read;
final byte[] bytes = new byte[1024];
while ((read = stream.read(bytes)) != -1)
{
out.write(bytes, 0, read);
}
}
catch (Exception ex)
{
throw ex;
out.flush();
}
return fileName;
@ -192,12 +188,10 @@ public class DocumentManager
String filePath = serverPath + "/" + storagePath + "/" + hostAddress + "/" + URLEncoder.encode(fileName, java.nio.charset.StandardCharsets.UTF_8.toString());
return filePath;
} catch (UnsupportedEncodingException e) {
throw new AssertionError("UTF-8 is unknown");
}
catch (Exception ex)
catch (UnsupportedEncodingException e)
{
throw ex;
throw new AssertionError("UTF-8 is unknown");
}
}
@ -210,11 +204,14 @@ public class DocumentManager
{
String serverPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
String hostAddress = CurUserHostAddress(null);
try {
try
{
String query = "?type=track&fileName=" + URLEncoder.encode(fileName, java.nio.charset.StandardCharsets.UTF_8.toString()) + "&userAddress=" + URLEncoder.encode(hostAddress, java.nio.charset.StandardCharsets.UTF_8.toString());
return serverPath + "/IndexServlet" + query;
} catch (UnsupportedEncodingException e) {
}
catch (UnsupportedEncodingException e)
{
throw new AssertionError("UTF-8 is unknown");
}
}

View File

@ -37,14 +37,9 @@ import java.net.URLEncoder;
import java.text.MessageFormat;
import java.util.UUID;
import java.util.concurrent.TimeoutException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class ServiceConverter
@ -71,113 +66,14 @@ public class ServiceConverter
}
public static String GetConvertedUri(String documentUri, String fromExtension, String toExtension, String documentRevisionId, Boolean isAsync) throws Exception
{
String convertedDocumentUri = null;
String xml = SendRequestToConvertService(documentUri, fromExtension, toExtension, documentRevisionId, isAsync);
Document document = ConvertStringToXmlDocument(xml);
Element responceFromConvertService = document.getDocumentElement();
if (responceFromConvertService == null)
throw new Exception("Invalid answer format");
NodeList errorElement = responceFromConvertService.getElementsByTagName("Error");
if (errorElement != null && errorElement.getLength() > 0)
ProcessConvertServiceResponceError(Integer.parseInt(errorElement.item(0).getTextContent()));
NodeList endConvertNode = responceFromConvertService.getElementsByTagName("EndConvert");
if (endConvertNode == null || endConvertNode.getLength() == 0)
throw new Exception("EndConvert node is null");
Boolean isEndConvert = Boolean.parseBoolean(endConvertNode.item(0).getTextContent());
NodeList percentNode = responceFromConvertService.getElementsByTagName("Percent");
if (percentNode == null || percentNode.getLength() == 0)
throw new Exception("Percent node is null");
Integer percent = Integer.parseInt(percentNode.item(0).getTextContent());
if (isEndConvert)
{
NodeList fileUrlNode = responceFromConvertService.getElementsByTagName("FileUrl");
if (fileUrlNode == null || fileUrlNode.getLength() == 0)
throw new Exception("FileUrl node is null");
convertedDocumentUri = fileUrlNode.item(0).getTextContent();
percent = 100;
}
else
{
percent = percent >= 100 ? 99 : percent;
}
return percent >= 100 ? convertedDocumentUri : "";
}
public static String GetExternalUri(InputStream fileStream, long contentLength, String contentType, String documentRevisionId) throws IOException, Exception
{
Object[] args = {"", "", "", "", documentRevisionId};
String urlTostorage = DocumentStorageUrl + ConvertParams.format(args);
URL url = new URL(urlTostorage);
java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", contentType == null ? "application/octet-stream" : contentType);
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", Long.toString(contentLength));
connection.setUseCaches (false);
try (DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream())) {
int read;
final byte[] bytes = new byte[1024];
while ((read = fileStream.read(bytes)) != -1) {
dataOutputStream.write(bytes, 0, read);
}
dataOutputStream.flush();
}
InputStream stream = connection.getInputStream();
if (stream == null)
{
throw new Exception("Could not get an answer");
}
String xml = ConvertStreamToString(stream);
connection.disconnect();
String res = GetResponseUri(xml);
return res;
}
public static String GenerateRevisionId(String expectedKey)
{
if (expectedKey.length() > 20)
expectedKey = Integer.toString(expectedKey.hashCode());
String key = expectedKey.replace("[^0-9-.a-zA-Z_=]", "_");
return key.substring(0, Math.min(key.length(), 20));
}
private static String SendRequestToConvertService(String documentUri, String fromExtension, String toExtension, String documentRevisionId, Boolean isAsync) throws Exception
{
fromExtension = fromExtension == null || fromExtension.isEmpty() ? FileUtility.GetFileExtension(documentUri) : fromExtension;
String title = FileUtility.GetFileName(documentUri);
title = title == null || title.isEmpty() ? UUID.randomUUID().toString() : title;
documentRevisionId = documentRevisionId == null || documentRevisionId.isEmpty() ? documentUri : documentRevisionId;
documentRevisionId = GenerateRevisionId(documentRevisionId);
Object[] args = {
@ -187,7 +83,7 @@ public class ServiceConverter
title,
documentRevisionId
};
String urlToConverter = DocumentConverterUrl + ConvertParams.format(args);
if (isAsync)
@ -195,11 +91,12 @@ public class ServiceConverter
URL url = new URL(urlToConverter);
java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
connection.setRequestProperty("Accept", "application/json");
connection.setConnectTimeout(ConvertTimeout);
InputStream stream = null;
int countTry = 0;
while (countTry < MaxTry)
{
try
@ -221,12 +118,69 @@ public class ServiceConverter
if (stream == null)
throw new Exception("Could not get an answer");
String xml = ConvertStreamToString(stream);
String jsonString = ConvertStreamToString(stream);
connection.disconnect();
return xml;
return GetResponseUri(jsonString);
}
public static String GetExternalUri(InputStream fileStream, long contentLength, String contentType, String documentRevisionId) throws IOException, Exception
{
Object[] args = {"", "", "", "", documentRevisionId};
String urlTostorage = DocumentStorageUrl + ConvertParams.format(args);
URL url = new URL(urlTostorage);
java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", contentType == null ? "application/octet-stream" : contentType);
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", Long.toString(contentLength));
connection.setRequestProperty("Accept", "application/json");
connection.setUseCaches (false);
try (DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream()))
{
int read;
final byte[] bytes = new byte[1024];
while ((read = fileStream.read(bytes)) != -1)
{
dataOutputStream.write(bytes, 0, read);
}
dataOutputStream.flush();
}
InputStream stream = connection.getInputStream();
if (stream == null)
{
throw new Exception("Could not get an answer");
}
String jsonString = ConvertStreamToString(stream);
connection.disconnect();
String res = GetResponseUri(jsonString);
return res;
}
public static String GenerateRevisionId(String expectedKey)
{
if (expectedKey.length() > 20)
expectedKey = Integer.toString(expectedKey.hashCode());
String key = expectedKey.replace("[^0-9-.a-zA-Z_=]", "_");
return key.substring(0, Math.min(key.length(), 20));
}
private static void ProcessConvertServiceResponceError(int errorCode) throws Exception
@ -270,46 +224,31 @@ public class ServiceConverter
throw new Exception(errorMessage);
}
private static String GetResponseUri(String xml) throws Exception
private static String GetResponseUri(String jsonString) throws Exception
{
Document document = ConvertStringToXmlDocument(xml);
Element responceFromConvertService = document.getDocumentElement();
if (responceFromConvertService == null)
throw new Exception("Invalid answer format");
JSONObject jsonObj = ConvertStringToJSON(jsonString);
NodeList errorElement = responceFromConvertService.getElementsByTagName("Error");
if (errorElement != null && errorElement.getLength() > 0)
ProcessConvertServiceResponceError(Integer.parseInt(errorElement.item(0).getTextContent()));
String error = (String) jsonObj.get("error");
if (error != null && error != "")
ProcessConvertServiceResponceError(Integer.parseInt(error));
NodeList endConvert = responceFromConvertService.getElementsByTagName("EndConvert");
if (endConvert == null || endConvert.getLength() == 0)
throw new Exception("Invalid answer format");
Boolean isEndConvert = Boolean.parseBoolean(endConvert.item(0).getTextContent());
Boolean isEndConvert = (Boolean) jsonObj.get("endConvert");
int resultPercent = 0;
Long resultPercent = 0l;
String responseUri = null;
if (isEndConvert)
{
NodeList fileUrl = responceFromConvertService.getElementsByTagName("FileUrl");
if (fileUrl == null || endConvert.getLength() == 0)
throw new Exception("Invalid answer format");
resultPercent = 100;
responseUri = fileUrl.item(0).getTextContent();
resultPercent = 100l;
responseUri = (String) jsonObj.get("fileUrl");
}
else
{
NodeList percent = responceFromConvertService.getElementsByTagName("Percent");
if (percent != null && percent.getLength() > 0)
resultPercent = Integer.parseInt(percent.item(0).getTextContent());
resultPercent = resultPercent >= 100 ? 99 : resultPercent;
resultPercent = (Long) jsonObj.get("percent");
resultPercent = resultPercent >= 100l ? 99l : resultPercent;
}
return resultPercent >= 100 ? responseUri : "";
return resultPercent >= 100l ? responseUri : "";
}
private static String ConvertStreamToString(InputStream stream) throws IOException
@ -319,24 +258,23 @@ public class ServiceConverter
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = bufferedReader.readLine();
while(line != null) {
while(line != null)
{
stringBuilder.append(line);
line =bufferedReader.readLine();
line = bufferedReader.readLine();
}
String result = stringBuilder.toString();
return result;
}
private static Document ConvertStringToXmlDocument(String xml) throws IOException, ParserConfigurationException, SAXException
private static JSONObject ConvertStringToJSON(String jsonString) throws ParseException
{
DocumentBuilderFactory documentBuildFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder doccumentBuilder = documentBuildFactory.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(xml.getBytes("utf-8"));
InputSource inputSource = new InputSource(inputStream);
Document document = doccumentBuilder.parse(inputSource);
return document;
JSONParser parser = new JSONParser();
Object obj = parser.parse(jsonString);
JSONObject jsonObj = (JSONObject) obj;
return jsonObj;
}
}

View File

@ -40,6 +40,7 @@
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="css/editor.css" />
<% DocumentManager.Init(request, response); %>
<% FileModel Model = (FileModel)request.getAttribute("file"); %>
<script type="text/javascript" src="${docserviceApiUrl}"></script>

View File

@ -27,7 +27,6 @@
var path = require("path");
var urlModule = require("url");
var urllib = require("urllib");
var xml2js = require("xml2js");
var jwt = require("jsonwebtoken");
var jwa = require("jwa");
var fileUtility = require("./fileUtility");
@ -77,7 +76,8 @@ documentService.getConvertedUri = function (documentUri, fromExtension, toExtens
var uri = siteUrl + configServer.get('converterUrl');
var headers = {
'Content-Type': 'application/json'
'Content-Type': 'application/json',
"Accept": "application/json"
};
if (cfgSignatureEnable && cfgSignatureUseForRequest) {
@ -100,7 +100,8 @@ documentService.getExternalUri = function (fileStream, contentLength, contentTyp
var headers = {
"Content-Type": contentType == null ? "application/octet-stream" : contentType,
"Content-Length": contentLength.toString(),
"charset": "utf-8"
"charset": "utf-8",
"Accept": "application/json"
};
if (cfgSignatureEnable && cfgSignatureUseForRequest) {
@ -177,33 +178,22 @@ documentService.processConvertServiceResponceError = function (errorCode) {
throw { message: errorMessage };
};
documentService.getResponseUri = function (xml) {
var json = documentService.convertXmlStringToJson(xml);
documentService.getResponseUri = function (json) {
var fileResult = JSON.parse(json);
if (!json.FileResult)
throw { message: "FileResult node is null" };
if (fileResult.error)
documentService.processConvertServiceResponceError(parseInt(fileResult.error));
var fileResult = json.FileResult;
var isEndConvert = fileResult.endConvert
if (fileResult.Error)
documentService.processConvertServiceResponceError(parseInt(fileResult.Error[0]));
if (!fileResult.EndConvert)
throw { message: "EndConvert node is null" };
var isEndConvert = fileResult.EndConvert[0].toLowerCase() === "true";
if (!fileResult.Percent)
throw { message: "Percent node is null" };
var percent = parseInt(fileResult.Percent[0]);
var percent = parseInt(fileResult.percent);
var uri = null;
if (isEndConvert) {
if (!fileResult.FileUrl)
throw { message: "FileUrl node is null" };
if (!fileResult.fileUrl)
throw { message: "FileUrl is null" };
uri = fileResult.FileUrl[0];
uri = fileResult.fileUrl;
percent = 100;
} else {
percent = percent >= 100 ? 99 : percent;
@ -215,16 +205,6 @@ documentService.getResponseUri = function (xml) {
};
};
documentService.convertXmlStringToJson = function (xml) {
var res;
xml2js.parseString(xml, function (err, result) {
res = result;
});
return res;
};
documentService.commandRequest = function (method, documentRevisionId, callback) {
documentRevisionId = documentService.generateRevisionId(documentRevisionId);
var params = {

View File

@ -26,8 +26,7 @@
"mime": "^1.3.4",
"serve-favicon": "~2.3.0",
"sync-request": "^4.0.1",
"urllib": "^2.20.0",
"xml2js": "~0.4.17"
"urllib": "^2.20.0"
},
"license": "MIT",
"repository": {