public CssUrlRewriter(String path, String css) { this.path = Paths.suffixWithSlash(path); this.css = css; this.chars = new StringBuilder(css); this.end = chars.length() - 1; this.pos = -1; }
public static String prefixAndSuffixWithSlash(String path){ if(Strings.isEmpty(path)){ return path; } if(path.startsWith("/")){ return suffixWithSlash(path); }else{ return "/" + suffixWithSlash(path); } }
public static File createRelative(File parent, final String relativePath){ if(parent.isDirectory()) { return new File(Paths.suffixWithSlash(parent.getAbsolutePath()) + Paths.prefixWithoutSlash(relativePath)); }else{ return new File(Paths.getDirPath(parent.getAbsolutePath()) + Paths.prefixWithoutSlash(relativePath)); } }
public SwaggerDoc(String dir) { this.dir = leap.lang.path.Paths.suffixWithSlash(dir); Map map = null; File swaggerFile = Paths.get(dir).resolve("./swagger.json").toFile(); if(swaggerFile.exists()) { map = JSON.decodeMap(IO.readString(swaggerFile, Charsets.UTF_8)); }else { swaggerFile = Paths.get(dir).resolve("./swagger.yaml").toFile(); if(swaggerFile.exists()) { map = YAML.decode(Resources.createFileResource(swaggerFile).getContent()); } } if(null != map) { this.swagger = JsonObject.of(map); } }
@Override public void preProcess(Api api) { final String prefix = Paths.suffixWithSlash(api.getBasePath()); //security failure handler. final ApiSecurityFailureHandler failureHandler = new ApiSecurityFailureHandler(); sc.setPathPrefixFailureHandler(prefix, failureHandler); }
private static Resource initAppDirectoryByConfig() { String path = System.getProperty(PROP_DIR); if(!Strings.isEmpty(path)) { if(Paths.isExplicitRelativePath(path)) { path = Resources.createFileResource(System.getProperty("user.dir")).createRelative(path).getFilepath(); } if(Urls.isClasspath(path)) { return checkDir(Resources.getResource(Paths.suffixWithSlash(path)), "project"); }else { return checkDir(Resources.createFileResource(new File(path)), "project"); } } return null; }
@Override public RestResource createResource(OrmContext context, EntityMapping em) { if(!em.isRemoteRest()) { return null; } RestResourceInfo rri = em.getExtension(RestResourceInfo.class); if(null == rri) { String basePath = em.getRemoteSettings().getEndpoint(); if(Strings.isEmpty(basePath) && null != em.getRemoteSettings().getDataSource()) { RestDataSource ds = dsm.tryGetDataSource(em.getRemoteSettings().getDataSource()); if(null == ds) { throw new IllegalStateException("Remote dataSource '" + em.getRemoteSettings().getDataSource() + "' not found, check entity '" + em.getEntityName() + "'"); } basePath = ds.getEndpoint(); } if(Strings.isEmpty(basePath)) { throw new IllegalStateException("Remote endpoint must be configured, check entity '" + em.getEntityName() + "'"); } String endpoint = Paths.suffixWithSlash(basePath) + em.getRemoteSettings().getRelativePath(); rri = new RestResourceInfo(RestResourceBuilder.formatApiEndPoint(endpoint)); em.setExtension(RestResourceInfo.class, rri); } return doCreateResource(context, em, rri); }
protected boolean doCheckOperationExists(RestdContext context, RouteBuilder r, Routes routes, boolean container) { final String verb = r.getMethod(); final String path = r.getPathTemplate().getTemplate(); final String fullPath = container ? path : Paths.suffixWithSlash(context.getApi().getBasePath()) + Paths.prefixWithoutSlash(path);
RemoteSettings settings = new RemoteSettings(); settings.setRemoteType(RemoteType.rest); settings.setEndpoint(Paths.suffixWithSlash(entity.getServiceUrl())); settings.setRelativePath(Paths.prefixWithoutSlash(entity.getServicePath())); em.setRemoteSettings(settings);
public RestResource build() { DefaultRestResource res = AppContext.factory().inject(new DefaultRestResource(entityMapping)); res.setPreSendHandler(this.preSendHandler); res.setPostSendHandler(this.postSendHandler); if(accessToken!=null){ res.setAccessToken(accessToken); } if (entityMapping != null) { RestDatasourceManager manager = getDataSourceManager(); RestDataSource ds = manager.tryGetDataSource(entityMapping.getRemoteSettings().getDataSource()); String basePath = entityMapping.getRemoteSettings().getEndpoint(); if (ds != null && Strings.isNotEmpty(ds.getEndpoint())) { basePath = ds.getEndpoint(); } if (Strings.isNotEmpty(basePath)) { String url = Paths.suffixWithSlash(basePath) + entityMapping.getRemoteSettings().getRelativePath(); res.setEndpoint(url); } } if (Strings.isNotBlank(endpoint)) { res.setEndpoint(endpoint); } if (Strings.isEmpty(res.getEndpoint())) { throw new RuntimeException("can't build rest resource,when endpoint or entityMapping is empty!"); } res.setEndpoint(formatApiEndPoint(res.getEndpoint())); return res; }