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;
}
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;
}
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;
}
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 版本号");
}
use of cn.hutool.http.HttpResponse in project HOJ by HimitZH.
the class AtCoderJudge method login.
@Override
public void login() {
RemoteJudgeDTO remoteJudgeDTO = getRemoteJudgeDTO();
// 清除当前线程的cookies缓存
HttpRequest.getCookieManager().getCookieStore().removeAll();
String csrfToken = getCsrfToken(HOST + LOGIN_URL);
HttpRequest request = HttpUtil.createPost(HOST + LOGIN_URL);
request.addHeaders(headers);
HttpResponse response = request.form(MapUtil.builder(new HashMap<String, Object>()).put("username", remoteJudgeDTO.getUsername()).put("password", remoteJudgeDTO.getPassword()).put("csrf_token", csrfToken).map()).execute();
remoteJudgeDTO.setLoginStatus(response.getStatus()).setCookies(response.getCookies()).setCsrfToken(csrfToken);
}
Aggregations