diff --git a/README.md b/README.md index 5095ee8478..2888460761 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Appsmith doesn't take the fun out of coding, because it treats every block as an * **5 minute setup**: Deploy Appsmith on your servers in 5 minutes. * **Build custom UI**: Drag & drop, resize and style widgets **without HTML / CSS**. * **Query data**: Query & update your database directly from the UI. Connect to **PostgreSQL, MongoDB, MySQL, REST & GraphQL APIs**. -* **JS Logic**: Write snippets of business logic using JS to transform data, manipuate UI or trigger workflows. Use popular libraries like lodash & moment anywhere in the app +* **JS Logic**: Write snippets of business logic using JS to transform data, manipulate UI or trigger workflows. Use popular libraries like lodash & moment anywhere in the app * **Data Workflows**: Simple configuration to create flows when users interact with the UI. * **Realtime Editor**: Changes in your application reflect instantly with every edit. No need to compile! * **Works with existing, live databases**: Connect directly to any PostgreSQL, MySQL & MongoDB diff --git a/app/server/appsmith-plugins/rapidApiPlugin/src/main/java/com/external/plugins/RapidApiPlugin.java b/app/server/appsmith-plugins/rapidApiPlugin/src/main/java/com/external/plugins/RapidApiPlugin.java index 514a6ec24c..e5af6311a9 100644 --- a/app/server/appsmith-plugins/rapidApiPlugin/src/main/java/com/external/plugins/RapidApiPlugin.java +++ b/app/server/appsmith-plugins/rapidApiPlugin/src/main/java/com/external/plugins/RapidApiPlugin.java @@ -103,7 +103,8 @@ public class RapidApiPlugin extends BasePlugin { URI uri; try { - uri = createFinalUriWithQueryParams(url, actionConfiguration.getQueryParameters()); + String httpUrl = addHttpToUrlWhenPrefixNotPresent(url); + uri = createFinalUriWithQueryParams(httpUrl, actionConfiguration.getQueryParameters()); log.info("Final URL is : {}", uri); } catch (URISyntaxException e) { e.printStackTrace(); @@ -287,6 +288,13 @@ public class RapidApiPlugin extends BasePlugin { } } + private String addHttpToUrlWhenPrefixNotPresent(String url) { + if (url == null || url.toLowerCase().startsWith("http") || url.contains("://")) { + return url; + } + return "http://" + url; + } + private URI createFinalUriWithQueryParams(String url, List queryParams) throws URISyntaxException { UriComponentsBuilder uriBuilder = UriComponentsBuilder.newInstance(); uriBuilder.uri(new URI(url)); diff --git a/app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java b/app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java index 7cb1e0aa28..d04da040a8 100644 --- a/app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java +++ b/app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java @@ -81,7 +81,8 @@ public class RestApiPlugin extends BasePlugin { HttpMethod httpMethod = actionConfiguration.getHttpMethod(); URI uri; try { - uri = createFinalUriWithQueryParams(url, actionConfiguration.getQueryParameters()); + String httpUrl = addHttpToUrlWhenPrefixNotPresent(url); + uri = createFinalUriWithQueryParams(httpUrl, actionConfiguration.getQueryParameters()); } catch (URISyntaxException e) { ActionExecutionRequest actionExecutionRequest = populateRequestFields(actionConfiguration, null); actionExecutionRequest.setUrl(url); @@ -362,6 +363,13 @@ public class RestApiPlugin extends BasePlugin { return contentType; } + private String addHttpToUrlWhenPrefixNotPresent(String url) { + if (url == null || url.toLowerCase().startsWith("http") || url.contains("://")) { + return url; + } + return "http://" + url; + } + private URI createFinalUriWithQueryParams(String url, List queryParams) throws URISyntaxException { UriComponentsBuilder uriBuilder = UriComponentsBuilder.newInstance(); uriBuilder.uri(new URI(url));