Revision: 9493
http://languagetool.svn.sourceforge.net/languagetool/?rev=9493&view=rev
Author: dnaber
Date: 2013-02-25 21:28:26 +0000 (Mon, 25 Feb 2013)
Log Message:
-----------
revert switch to Cross-Origin Resource Sharing (CORS) to see if that causes the
current instability of the REST service
Modified Paths:
--------------
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPSServer.java
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServer.java
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServerConfig.java
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
trunk/website/include/header.php
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/editor_plugin.js
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/server/proxy.php
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/src/editor_plugin.js
Modified:
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPSServer.java
===================================================================
---
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPSServer.java
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPSServer.java
2013-02-25 21:28:26 UTC (rev 9493)
@@ -69,7 +69,6 @@
final RequestLimiter limiter = getRequestLimiterOrNull(config);
final LanguageToolHttpHandler httpHandler = new
LanguageToolHttpHandler(config.isVerbose(), allowedIps, runInternally, limiter);
httpHandler.setMaxTextLength(config.getMaxTextLength());
- httpHandler.setAllowOriginUrl(config.getAllowOriginUrl());
server.createContext("/", httpHandler);
} catch (BindException e) {
final ResourceBundle messages = JLanguageTool.getMessageBundle();
Modified:
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServer.java
===================================================================
---
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServer.java
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServer.java
2013-02-25 21:28:26 UTC (rev 9493)
@@ -95,9 +95,7 @@
} else {
server = HttpServer.create(new InetSocketAddress(host, port), 0);
}
- final LanguageToolHttpHandler httpHandler = new
LanguageToolHttpHandler(config.isVerbose(), allowedIps, runInternally, null);
- httpHandler.setAllowOriginUrl(config.getAllowOriginUrl());
- server.createContext("/", httpHandler);
+ server.createContext("/", new
LanguageToolHttpHandler(config.isVerbose(), allowedIps, runInternally, null));
} catch (Exception e) {
final ResourceBundle messages = JLanguageTool.getMessageBundle();
final String message = Tools.makeTexti18n(messages,
"http_server_start_failed", host, Integer.toString(port));
Modified:
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServerConfig.java
===================================================================
---
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServerConfig.java
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/HTTPServerConfig.java
2013-02-25 21:28:26 UTC (rev 9493)
@@ -31,7 +31,6 @@
protected boolean verbose = false;
protected boolean publicAccess = false;
protected int port = DEFAULT_PORT;
- protected String allowOriginUrl = null;
public HTTPServerConfig() {
this.port = DEFAULT_PORT;
@@ -60,8 +59,6 @@
verbose = true;
} else if ("--public".equals(args[i])) {
publicAccess = true;
- } else if ("--allow-origin".equals(args[i])) {
- allowOriginUrl = args[++i];
}
}
}
@@ -81,11 +78,4 @@
return port;
}
- /**
- * URL of server whose visitors may request data via Ajax, or {@code *} (=
anyone) or {@code null} (= no support for CORS).
- */
- public String getAllowOriginUrl() {
- return allowOriginUrl;
- }
-
}
Modified:
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
===================================================================
---
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/languagetool/languagetool-server/src/main/java/org/languagetool/server/LanguageToolHttpHandler.java
2013-02-25 21:28:26 UTC (rev 9493)
@@ -56,7 +56,6 @@
private String[] enabledRules = {};
private String[] disabledRules = {};
private int maxTextLength = Integer.MAX_VALUE;
- private String allowOriginUrl;
/**
* @param verbose print the input text in case of exceptions
@@ -75,15 +74,6 @@
this.maxTextLength = maxTextLength;
}
- /**
- * Value to set as the "Access-Control-Allow-Origin" http header. Use {@code
null}
- * to not return that header at all. Use {@code *} to run a server that any
other web site
- * can use from Javascript/Ajax (search Cross-origin resource sharing (CORS)
for details).
- */
- void setAllowOriginUrl(String allowOriginUrl) {
- this.allowOriginUrl = allowOriginUrl;
- }
-
@Override
public void handle(HttpExchange httpExchange) throws IOException {
String text = null;
@@ -143,19 +133,12 @@
}
private void printListOfLanguages(HttpExchange httpExchange) throws
IOException {
- setCommonHeaders(httpExchange);
+ httpExchange.getResponseHeaders().set("Content-Type", CONTENT_TYPE_VALUE);
final String response = getSupportedLanguagesAsXML();
httpExchange.sendResponseHeaders(HttpURLConnection.HTTP_OK,
response.getBytes(ENCODING).length);
httpExchange.getResponseBody().write(response.getBytes(ENCODING));
}
-
- private void setCommonHeaders(HttpExchange httpExchange) {
- httpExchange.getResponseHeaders().set("Content-Type", CONTENT_TYPE_VALUE);
- if (allowOriginUrl != null) {
- httpExchange.getResponseHeaders().set("Access-Control-Allow-Origin",
allowOriginUrl);
- }
- }
-
+
private static Language detectLanguageOfString(final String text, final
String fallbackLanguage) {
// TODO: use identifier.isReasonablyCertain() - but make sure it works!
if (text.length() < MIN_LENGTH_FOR_AUTO_DETECTION && fallbackLanguage !=
null) {
@@ -233,7 +216,7 @@
final List<BitextRule> bRules = Tools.getBitextRules(motherTongue, lang);
matches = Tools.checkBitext(sourceText, text, sourceLt, targetLt,
bRules);
}
- setCommonHeaders(httpExchange);
+ httpExchange.getResponseHeaders().set("Content-Type", CONTENT_TYPE_VALUE);
final String response = StringTools.ruleMatchesToXML(matches, text,
CONTEXT_SIZE, StringTools.XmlPrintMode.NORMAL_XML, lang,
motherTongue);
httpExchange.sendResponseHeaders(HttpURLConnection.HTTP_OK,
response.getBytes(ENCODING).length);
Modified: trunk/website/include/header.php
===================================================================
--- trunk/website/include/header.php 2013-02-25 20:13:39 UTC (rev 9492)
+++ trunk/website/include/header.php 2013-02-25 21:28:26 UTC (rev 9493)
@@ -109,10 +109,8 @@
},
languagetool_i18n_current_lang : function() { return
document.checkform.lang.value; },
- /* The URL of your proxy file or the LT server if you're using CORS,
i.e. started the server with '--allow-origin "*"'
- * (see
https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control):
- */
- languagetool_rpc_url :
"https://languagetool.org:8081",
+ /* the URL of your proxy file: */
+ languagetool_rpc_url : "<?php print $rootUrl
?>/online-check/tiny_mce/plugins/atd-tinymce/server/proxy.php?url=",
/* edit this file to customize how LanguageTool shows errors: */
languagetool_css_url : "<?php print $rootUrl
?>/online-check/tiny_mce/plugins/atd-tinymce/css/content.css",
/* this stuff is a matter of preference: */
Modified:
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/editor_plugin.js
===================================================================
---
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/editor_plugin.js
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/editor_plugin.js
2013-02-25 21:28:26 UTC (rev 9493)
@@ -447,26 +447,26 @@
/* send request to our service */
var textContent = plugin.editor.core.getPlainText();
- plugin.sendRequest('', textContent, languageCode, function(data,
request, jqXHR)
+ plugin.sendRequest('checkDocument', textContent, languageCode,
function(data, request, someObject)
{
/* turn off the spinning thingie */
plugin.editor.setProgressState(0);
/* if the server is not accepting requests, let the user know */
- if (jqXHR.status != 200 || jqXHR.responseText.substr(1, 4) ==
'html' || jqXHR.responseText == '')
+ if (request.status != 200 || request.responseText.substr(1, 4)
== 'html' || request.responseText == '')
{
ed.windowManager.alert(
plugin.editor.getLang('AtD.message_server_error', 'There was a problem
communicating with the service. Try again in one minute.') );
return;
}
/* check to see if things are broken first and foremost */
- if (jqXHR.responseXML.getElementsByTagName('message').item(0)
!= null)
+ if (request.responseXML.getElementsByTagName('message').item(0)
!= null)
{
-
ed.windowManager.alert(jqXHR.responseXML.getElementsByTagName('message').item(0).firstChild.data);
+
ed.windowManager.alert(request.responseXML.getElementsByTagName('message').item(0).firstChild.data);
return;
}
- var results = core.processXML(jqXHR.responseXML);
+ var results = core.processXML(request.responseXML);
if (results.length == 0) {
var lang =
plugin.editor.getParam('languagetool_i18n_current_lang')();
@@ -755,7 +755,8 @@
alert('Please specify: languagetool_rpc_url');
return;
}
-
+
+ /*
jQuery.ajax({
url: url + "/" + file,
type: "POST",
@@ -765,10 +766,8 @@
plugin.editor.setProgressState(0);
alert("Could not send request to\n" + url + "\nError: " +
textStatus + "\n" + errorThrown + "\nPlease make sure your network connection
works.");
}
- });
+ });*/
- /* this causes an OPTIONS request to be send as a preflight - LT
server doesn't support that,
- thus we're using jQuery.ajax() instead
tinymce.util.XHR.send({
url : url + "/" + file,
content_type : 'text/xml',
@@ -782,7 +781,7 @@
plugin.editor.setProgressState(0);
alert("Could not send request to\n" + o.url + "\nError: " +
type + "\nStatus code: " + req.status + "\nPlease make sure your network
connection works.");
}
- });*/
+ });
}
});
Modified:
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/server/proxy.php
===================================================================
---
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/server/proxy.php
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/server/proxy.php
2013-02-25 21:28:26 UTC (rev 9493)
@@ -1,8 +1,4 @@
<?php
-// we use CORS now - no need for a proxy anymore:
-print "(proxy is disabled)";
-return;
-
// LanguageTool Proxy Script
// requires curl for PHP - on Ubuntu, install with "sudo apt-get install
php5-curl"
error_reporting(E_ALL);
Modified:
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/src/editor_plugin.js
===================================================================
---
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/src/editor_plugin.js
2013-02-25 20:13:39 UTC (rev 9492)
+++
trunk/website/www/online-check/tiny_mce/plugins/atd-tinymce/src/editor_plugin.js
2013-02-25 21:28:26 UTC (rev 9493)
@@ -127,26 +127,26 @@
/* send request to our service */
var textContent = plugin.editor.core.getPlainText();
- plugin.sendRequest('', textContent, languageCode, function(data,
request, jqXHR)
+ plugin.sendRequest('checkDocument', textContent, languageCode,
function(data, request, someObject)
{
/* turn off the spinning thingie */
plugin.editor.setProgressState(0);
/* if the server is not accepting requests, let the user know */
- if (jqXHR.status != 200 || jqXHR.responseText.substr(1, 4) ==
'html' || jqXHR.responseText == '')
+ if (request.status != 200 || request.responseText.substr(1, 4)
== 'html' || request.responseText == '')
{
ed.windowManager.alert(
plugin.editor.getLang('AtD.message_server_error', 'There was a problem
communicating with the service. Try again in one minute.') );
return;
}
/* check to see if things are broken first and foremost */
- if (jqXHR.responseXML.getElementsByTagName('message').item(0)
!= null)
+ if (request.responseXML.getElementsByTagName('message').item(0)
!= null)
{
-
ed.windowManager.alert(jqXHR.responseXML.getElementsByTagName('message').item(0).firstChild.data);
+
ed.windowManager.alert(request.responseXML.getElementsByTagName('message').item(0).firstChild.data);
return;
}
- var results = core.processXML(jqXHR.responseXML);
+ var results = core.processXML(request.responseXML);
if (results.length == 0) {
var lang =
plugin.editor.getParam('languagetool_i18n_current_lang')();
@@ -435,7 +435,8 @@
alert('Please specify: languagetool_rpc_url');
return;
}
-
+
+ /*
jQuery.ajax({
url: url + "/" + file,
type: "POST",
@@ -445,10 +446,8 @@
plugin.editor.setProgressState(0);
alert("Could not send request to\n" + url + "\nError: " +
textStatus + "\n" + errorThrown + "\nPlease make sure your network connection
works.");
}
- });
+ });*/
- /* this causes an OPTIONS request to be send as a preflight - LT
server doesn't support that,
- thus we're using jQuery.ajax() instead
tinymce.util.XHR.send({
url : url + "/" + file,
content_type : 'text/xml',
@@ -462,7 +461,7 @@
plugin.editor.setProgressState(0);
alert("Could not send request to\n" + o.url + "\nError: " +
type + "\nStatus code: " + req.status + "\nPlease make sure your network
connection works.");
}
- });*/
+ });
}
});
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits