Search in sources :

Example 6 with HttpResponse

use of cn.hutool.http.HttpResponse in project Jpom by dromara.

the class TomcatManageService method getTomcatStatus.

/**
 * 查询tomcat状态
 *
 * @param id tomcat的id
 * @return tomcat状态0表示未运行,1表示运行中
 */
public int getTomcatStatus(String id) {
    int result = 0;
    TomcatInfoModel tomcatInfoModel = tomcatEditService.getItem(id);
    String url = String.format("http://127.0.0.1:%d/", tomcatInfoModel.getPort());
    HttpRequest httpRequest = new HttpRequest(url);
    // 设置超时时间为3秒
    httpRequest.setConnectionTimeout(3000);
    try {
        HttpResponse httpResponse = httpRequest.execute();
        result = 1;
    } catch (Exception ignored) {
    }
    return result;
}
Also used : HttpRequest(cn.hutool.http.HttpRequest) TomcatInfoModel(io.jpom.model.data.TomcatInfoModel) HttpResponse(cn.hutool.http.HttpResponse) JpomRuntimeException(io.jpom.system.JpomRuntimeException)

Example 7 with HttpResponse

use of cn.hutool.http.HttpResponse in project Jpom by dromara.

the class RepositoryController method giteeRepos.

/**
 * gitee 仓库
 *
 * @param token 个人令牌
 * @param page  分页
 * @return page
 */
private PageResultDto<JSONObject> giteeRepos(String token, Page page) {
    // 
    HttpResponse userResponse = HttpUtil.createGet("https://gitee.com/api/v5/user").form("access_token", token).execute();
    Assert.state(userResponse.isOk(), "令牌不正确:" + userResponse.body());
    JSONObject userBody = JSONObject.parseObject(userResponse.body());
    String username = userBody.getString("login");
    // 拉取仓库信息
    HttpResponse reposResponse = HttpUtil.createGet("https://gitee.com/api/v5/user/repos").form("access_token", token).form("sort", "pushed").form("page", page.getPageNumber()).form("per_page", page.getPageSize()).execute();
    String body = reposResponse.body();
    Assert.state(userResponse.isOk(), "拉取仓库信息错误:" + body);
    String totalCountStr = reposResponse.header("total_count");
    int totalCount = Convert.toInt(totalCountStr, 0);
    // String totalPage = reposResponse.header("total_page");
    JSONArray jsonArray = JSONArray.parseArray(body);
    List<JSONObject> objects = jsonArray.stream().map(o -> {
        JSONObject repo = (JSONObject) o;
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", repo.getString("name"));
        String htmlUrl = repo.getString("html_url");
        jsonObject.put("url", htmlUrl);
        jsonObject.put("full_name", repo.getString("full_name"));
        jsonObject.put("private", repo.getBooleanValue("private"));
        jsonObject.put("description", repo.getString("description"));
        // 
        jsonObject.put("username", username);
        jsonObject.put("exists", RepositoryController.this.checkRepositoryUrl(null, htmlUrl));
        return jsonObject;
    }).collect(Collectors.toList());
    // 
    PageResultDto<JSONObject> pageResultDto = new PageResultDto<>(page.getPageNumber(), page.getPageSize(), totalCount);
    pageResultDto.setResult(objects);
    return pageResultDto;
}
Also used : PageResultDto(io.jpom.model.PageResultDto) BuildUtil(io.jpom.build.BuildUtil) DefaultSystemLog(cn.jiangzeyin.common.DefaultSystemLog) io.jpom.plugin(io.jpom.plugin) Page(cn.hutool.db.Page) Feature(io.jpom.permission.Feature) ServletUtil(cn.hutool.extra.servlet.ServletUtil) JpomRuntimeException(io.jpom.system.JpomRuntimeException) JsonMessage(cn.jiangzeyin.common.JsonMessage) JSONArray(com.alibaba.fastjson.JSONArray) HttpServletRequest(javax.servlet.http.HttpServletRequest) HttpUtil(cn.hutool.http.HttpUtil) HttpResponse(cn.hutool.http.HttpResponse) Map(java.util.Map) GetMapping(org.springframework.web.bind.annotation.GetMapping) URLUtil(cn.hutool.core.util.URLUtil) MethodFeature(io.jpom.permission.MethodFeature) HttpRequest(cn.hutool.http.HttpRequest) PostMapping(org.springframework.web.bind.annotation.PostMapping) RepositoryService(io.jpom.service.dblog.RepositoryService) ClassFeature(io.jpom.permission.ClassFeature) RestController(org.springframework.web.bind.annotation.RestController) Collectors(java.util.stream.Collectors) File(java.io.File) HttpStatus(org.springframework.http.HttpStatus) Tuple(cn.hutool.core.lang.Tuple) StrUtil(cn.hutool.core.util.StrUtil) List(java.util.List) ValidatorItem(cn.jiangzeyin.common.validator.ValidatorItem) RepositoryModel(io.jpom.model.data.RepositoryModel) Const(io.jpom.common.Const) BuildInfoService(io.jpom.service.dblog.BuildInfoService) Convert(cn.hutool.core.convert.Convert) FileUtil(cn.hutool.core.io.FileUtil) JSONObject(com.alibaba.fastjson.JSONObject) Entity(cn.hutool.db.Entity) GitProtocolEnum(io.jpom.model.enums.GitProtocolEnum) BaseServerController(io.jpom.common.BaseServerController) Validator(cn.hutool.core.lang.Validator) Assert(org.springframework.util.Assert) JSONObject(com.alibaba.fastjson.JSONObject) JSONArray(com.alibaba.fastjson.JSONArray) HttpResponse(cn.hutool.http.HttpResponse) PageResultDto(io.jpom.model.PageResultDto)

Example 8 with HttpResponse

use of cn.hutool.http.HttpResponse in project Jpom by dromara.

the class RepositoryController method gitlabRepos.

/**
 * gitlab 仓库
 * <p>
 * https://docs.gitlab.com/ee/api/projects.html#list-all-projects
 *
 * @param token 个人令牌
 * @param page  分页
 * @return page
 */
private PageResultDto<JSONObject> gitlabRepos(String token, Page page) {
    // 
    HttpResponse userResponse = HttpUtil.createGet("https://gitlab.com/api/v4/user").form("access_token", token).execute();
    Assert.state(userResponse.isOk(), "令牌不正确:" + userResponse.body());
    JSONObject userBody = JSONObject.parseObject(userResponse.body());
    String username = userBody.getString("username");
    // 拉取仓库信息
    HttpResponse reposResponse = HttpUtil.createGet("https://gitlab.com/api/v4/projects").form("private_token", token).form("membership", true).form("simple", true).form("order_by", "updated_at").form("page", page.getPageNumber()).form("per_page", Math.max(page.getPageSize(), 15)).execute();
    String body = reposResponse.body();
    Assert.state(userResponse.isOk(), "拉取仓库信息错误:" + body);
    String totalCountStr = reposResponse.header("X-Total");
    int totalCount = Convert.toInt(totalCountStr, 0);
    // String totalPage = reposResponse.header("total_page");
    JSONArray jsonArray = JSONArray.parseArray(body);
    List<JSONObject> objects = jsonArray.stream().map(o -> {
        JSONObject repo = (JSONObject) o;
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", repo.getString("name"));
        String htmlUrl = repo.getString("http_url_to_repo");
        jsonObject.put("url", htmlUrl);
        jsonObject.put("full_name", repo.getString("path_with_namespace"));
        jsonObject.put("private", StrUtil.equalsIgnoreCase("private", repo.getString("visibility")));
        jsonObject.put("description", repo.getString("description"));
        // 
        jsonObject.put("username", username);
        jsonObject.put("exists", RepositoryController.this.checkRepositoryUrl(null, htmlUrl));
        return jsonObject;
    }).collect(Collectors.toList());
    // 
    PageResultDto<JSONObject> pageResultDto = new PageResultDto<>(page.getPageNumber(), page.getPageSize(), totalCount);
    pageResultDto.setResult(objects);
    return pageResultDto;
}
Also used : PageResultDto(io.jpom.model.PageResultDto) BuildUtil(io.jpom.build.BuildUtil) DefaultSystemLog(cn.jiangzeyin.common.DefaultSystemLog) io.jpom.plugin(io.jpom.plugin) Page(cn.hutool.db.Page) Feature(io.jpom.permission.Feature) ServletUtil(cn.hutool.extra.servlet.ServletUtil) JpomRuntimeException(io.jpom.system.JpomRuntimeException) JsonMessage(cn.jiangzeyin.common.JsonMessage) JSONArray(com.alibaba.fastjson.JSONArray) HttpServletRequest(javax.servlet.http.HttpServletRequest) HttpUtil(cn.hutool.http.HttpUtil) HttpResponse(cn.hutool.http.HttpResponse) Map(java.util.Map) GetMapping(org.springframework.web.bind.annotation.GetMapping) URLUtil(cn.hutool.core.util.URLUtil) MethodFeature(io.jpom.permission.MethodFeature) HttpRequest(cn.hutool.http.HttpRequest) PostMapping(org.springframework.web.bind.annotation.PostMapping) RepositoryService(io.jpom.service.dblog.RepositoryService) ClassFeature(io.jpom.permission.ClassFeature) RestController(org.springframework.web.bind.annotation.RestController) Collectors(java.util.stream.Collectors) File(java.io.File) HttpStatus(org.springframework.http.HttpStatus) Tuple(cn.hutool.core.lang.Tuple) StrUtil(cn.hutool.core.util.StrUtil) List(java.util.List) ValidatorItem(cn.jiangzeyin.common.validator.ValidatorItem) RepositoryModel(io.jpom.model.data.RepositoryModel) Const(io.jpom.common.Const) BuildInfoService(io.jpom.service.dblog.BuildInfoService) Convert(cn.hutool.core.convert.Convert) FileUtil(cn.hutool.core.io.FileUtil) JSONObject(com.alibaba.fastjson.JSONObject) Entity(cn.hutool.db.Entity) GitProtocolEnum(io.jpom.model.enums.GitProtocolEnum) BaseServerController(io.jpom.common.BaseServerController) Validator(cn.hutool.core.lang.Validator) Assert(org.springframework.util.Assert) JSONObject(com.alibaba.fastjson.JSONObject) JSONArray(com.alibaba.fastjson.JSONArray) HttpResponse(cn.hutool.http.HttpResponse) PageResultDto(io.jpom.model.PageResultDto)

Example 9 with HttpResponse

use of cn.hutool.http.HttpResponse in project Jpom by dromara.

the class RepositoryController method githubRepos.

/**
 * github 仓库
 *
 * @param token 个人令牌
 * @param page  分页
 * @return page
 */
private PageResultDto<JSONObject> githubRepos(String token, Page page) {
    String accept = "application/vnd.github.v3+json";
    HttpRequest request = HttpUtil.createGet("https://api.github.com/user");
    request.header("Authorization", StrUtil.format("token {}", token));
    request.header("Accept", accept);
    HttpResponse httpResponse = request.execute();
    String body = httpResponse.body();
    Assert.state(httpResponse.isOk(), "令牌信息错误:" + body);
    JSONObject userBody = JSONObject.parseObject(body);
    String username = userBody.getString("login");
    // 拉取仓库信息
    HttpRequest httpRequestRepos = HttpUtil.createGet("https://api.github.com/user/repos");
    httpRequestRepos.header("Authorization", StrUtil.format("token {}", token));
    httpRequestRepos.header("Accept", accept);
    HttpResponse reposResponse = httpRequestRepos.form("access_token", token).form("sort", "pushed").form("page", page.getPageNumber()).form("per_page", page.getPageSize()).execute();
    body = reposResponse.body();
    Assert.state(reposResponse.isOk(), "拉取仓库信息错误:" + body);
    JSONArray jsonArray = JSONArray.parseArray(body);
    List<JSONObject> objects = jsonArray.stream().map(o -> {
        JSONObject repo = (JSONObject) o;
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", repo.getString("name"));
        String cloneUrl = repo.getString("clone_url");
        jsonObject.put("url", cloneUrl);
        jsonObject.put("full_name", repo.getString("full_name"));
        jsonObject.put("description", repo.getString("description"));
        jsonObject.put("private", repo.getBooleanValue("private"));
        // 
        jsonObject.put("username", username);
        jsonObject.put("exists", RepositoryController.this.checkRepositoryUrl(null, cloneUrl));
        return jsonObject;
    }).collect(Collectors.toList());
    // 
    PageResultDto<JSONObject> pageResultDto = new PageResultDto<>(page.getPageNumber(), page.getPageSize(), 1000);
    pageResultDto.setResult(objects);
    return pageResultDto;
}
Also used : HttpRequest(cn.hutool.http.HttpRequest) PageResultDto(io.jpom.model.PageResultDto) BuildUtil(io.jpom.build.BuildUtil) DefaultSystemLog(cn.jiangzeyin.common.DefaultSystemLog) io.jpom.plugin(io.jpom.plugin) Page(cn.hutool.db.Page) Feature(io.jpom.permission.Feature) ServletUtil(cn.hutool.extra.servlet.ServletUtil) JpomRuntimeException(io.jpom.system.JpomRuntimeException) JsonMessage(cn.jiangzeyin.common.JsonMessage) JSONArray(com.alibaba.fastjson.JSONArray) HttpServletRequest(javax.servlet.http.HttpServletRequest) HttpUtil(cn.hutool.http.HttpUtil) HttpResponse(cn.hutool.http.HttpResponse) Map(java.util.Map) GetMapping(org.springframework.web.bind.annotation.GetMapping) URLUtil(cn.hutool.core.util.URLUtil) MethodFeature(io.jpom.permission.MethodFeature) HttpRequest(cn.hutool.http.HttpRequest) PostMapping(org.springframework.web.bind.annotation.PostMapping) RepositoryService(io.jpom.service.dblog.RepositoryService) ClassFeature(io.jpom.permission.ClassFeature) RestController(org.springframework.web.bind.annotation.RestController) Collectors(java.util.stream.Collectors) File(java.io.File) HttpStatus(org.springframework.http.HttpStatus) Tuple(cn.hutool.core.lang.Tuple) StrUtil(cn.hutool.core.util.StrUtil) List(java.util.List) ValidatorItem(cn.jiangzeyin.common.validator.ValidatorItem) RepositoryModel(io.jpom.model.data.RepositoryModel) Const(io.jpom.common.Const) BuildInfoService(io.jpom.service.dblog.BuildInfoService) Convert(cn.hutool.core.convert.Convert) FileUtil(cn.hutool.core.io.FileUtil) JSONObject(com.alibaba.fastjson.JSONObject) Entity(cn.hutool.db.Entity) GitProtocolEnum(io.jpom.model.enums.GitProtocolEnum) BaseServerController(io.jpom.common.BaseServerController) Validator(cn.hutool.core.lang.Validator) Assert(org.springframework.util.Assert) JSONObject(com.alibaba.fastjson.JSONObject) JSONArray(com.alibaba.fastjson.JSONArray) HttpResponse(cn.hutool.http.HttpResponse) PageResultDto(io.jpom.model.PageResultDto)

Example 10 with HttpResponse

use of cn.hutool.http.HttpResponse in project Jpom by dromara.

the class DockerYmlDsl method nodePluginCheck.

private void nodePluginCheck(Map<String, Object> step) {
    Assert.notNull(step.get("version"), "node 插件 version 不能为空");
    String version = String.valueOf(step.get("version"));
    String link = String.format("https://registry.npmmirror.com/-/binary/node/v%s/node-v%s-linux-x64.tar.gz", version, version);
    HttpResponse httpResponse = HttpUtil.createRequest(Method.HEAD, link).execute();
    Assert.isTrue(httpResponse.isOk() || httpResponse.getStatus() == HttpStatus.HTTP_MOVED_TEMP, "请填入正确的 node 版本号");
}
Also used : HttpResponse(cn.hutool.http.HttpResponse)

Aggregations

HttpResponse (cn.hutool.http.HttpResponse)15 HttpRequest (cn.hutool.http.HttpRequest)6 List (java.util.List)6 JpomRuntimeException (io.jpom.system.JpomRuntimeException)5 File (java.io.File)4 Ignore (org.junit.Ignore)4 Test (org.junit.Test)4 Convert (cn.hutool.core.convert.Convert)3 FileUtil (cn.hutool.core.io.FileUtil)3 Tuple (cn.hutool.core.lang.Tuple)3 Validator (cn.hutool.core.lang.Validator)3 StrUtil (cn.hutool.core.util.StrUtil)3 URLUtil (cn.hutool.core.util.URLUtil)3 Entity (cn.hutool.db.Entity)3 Page (cn.hutool.db.Page)3 ServletUtil (cn.hutool.extra.servlet.ServletUtil)3 HttpUtil (cn.hutool.http.HttpUtil)3 DefaultSystemLog (cn.jiangzeyin.common.DefaultSystemLog)3 JsonMessage (cn.jiangzeyin.common.JsonMessage)3 ValidatorItem (cn.jiangzeyin.common.validator.ValidatorItem)3