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

Reply via email to