ProjectSetRequestHandler as REST API
[idea/community.git] / platform / platform-impl / src / org / jetbrains / ide / RestService.java
index cdce90716e3ba961499c15dca859395c116b1333..09de2c549fdd76dd2813f36515d04de7ce4f2bb8 100644 (file)
@@ -51,8 +51,13 @@ public abstract class RestService extends HttpRequestHandler {
       return false;
     }
 
-    String prefix = "rest";
     String uri = request.uri();
+
+    if (isPrefixlessAllowed() && checkPrefix(uri, getServiceName())) {
+      return true;
+    }
+
+    String prefix = "rest";
     String serviceName = getServiceName();
     int minLength = 1 + prefix.length() + 1 + serviceName.length();
     if (uri.length() >= minLength &&
@@ -70,6 +75,13 @@ public abstract class RestService extends HttpRequestHandler {
     return false;
   }
 
+  /**
+   * Service url must be "/rest/$serviceName", but to preserve backward compatibility, prefixless path could be also supported
+   */
+  protected boolean isPrefixlessAllowed() {
+    return false;
+  }
+
   @NotNull
   /**
    * Use human-readable name or UUID if it is an internal service.