| @@ -5,7 +5,7 @@ class Trace::ProjectsController < Trace::BaseController | |||
| def tasks | |||
| branch_name = params[:branch_name] | |||
| [code, data, error] = Trace::CheckService.call(current_user.trace_token, @project, "1", branch_name) | |||
| code, data, error = Trace::CheckService.call(current_user.trace_token, @project, "1", branch_name) | |||
| if code == 200 | |||
| render_ok | |||
| else | |||
| @@ -20,7 +20,7 @@ class Trace::ProjectsController < Trace::BaseController | |||
| limit = params[:limit] || params[:per_page] | |||
| limit = (limit.to_i.zero? || limit.to_i > 15) ? 15 : limit.to_i | |||
| page = params[:page].to_i.zero? ? 1 : params[:page].to_i | |||
| [code, data, error] = Trace::CheckResultService.call(current_user.trace_token, @project, nil, page, limit) | |||
| code, data, error = Trace::CheckResultService.call(current_user.trace_token, @project, nil, page, limit) | |||
| if code == 200 | |||
| render :json => {data: data} | |||
| else | |||
| @@ -33,7 +33,7 @@ class Trace::ProjectsController < Trace::BaseController | |||
| def reload_task | |||
| render_error(-1, "project_id错误") if params[:project_id].blank? | |||
| [code, data, error] = Trace::ReloadCheckService.call(current_user.trace_token, params[:project_id]) | |||
| code, data, error = Trace::ReloadCheckService.call(current_user.trace_token, params[:project_id]) | |||
| if code == 200 | |||
| render_ok | |||
| else | |||
| @@ -47,7 +47,7 @@ class Trace::ProjectsController < Trace::BaseController | |||
| def task_pdf | |||
| render_error(-1, "task_id错误") if params[:task_id].blank? | |||
| [code, data, error] = Trace::PdfReportService.call(current_user.trace_token, params[:task_id]) | |||
| code, data, error = Trace::PdfReportService.call(current_user.trace_token, params[:task_id]) | |||
| if code == 200 | |||
| render_ok | |||
| else | |||
| @@ -19,7 +19,7 @@ class Trace::CheckResultService < Trace::ClientService | |||
| private | |||
| def request_params | |||
| { | |||
| product_name: "#{project&.owner&.login}-#{project.identifier}", | |||
| product_name: "#{project&.owner&.id}#{project.id}", | |||
| file_name: file_name, | |||
| pageNum: page_num, | |||
| pageSize: page_size, | |||
| @@ -11,7 +11,7 @@ class Trace::CheckService < Trace::ClientService | |||
| end | |||
| def call | |||
| result = authed_post(token, url, {data: request_params}) | |||
| result = http_authed_post(token, url, {data: request_params}) | |||
| reponse = render_response(result) | |||
| end | |||
| @@ -19,9 +19,9 @@ class Trace::CheckService < Trace::ClientService | |||
| def request_params | |||
| repo = Gitea::Repository::GetService.call(project&.owner, project&.identifier) | |||
| { | |||
| product_name: "#{project&.owner&.login}-#{project&.identifier}", | |||
| product_type: project&.category&.name, | |||
| code_type: project&.language&.name, | |||
| product_name: "#{project&.owner&.id}#{project&.id}", | |||
| product_type: project&.project_category&.name, | |||
| code_type: project&.project_language&.name, | |||
| product_desc: project&.description, | |||
| git_url: repo['clone_url'], | |||
| if_branch: if_branch, | |||
| @@ -32,5 +32,4 @@ class Trace::CheckService < Trace::ClientService | |||
| def url | |||
| "/user/check".freeze | |||
| end | |||
| end | |||
| end | |||
| @@ -12,6 +12,18 @@ class Trace::ClientService < ApplicationService | |||
| conn.post(full_url(url), params[:data]) | |||
| end | |||
| def http_authed_post(token, url, params={}) | |||
| puts "[trace][POST] request params: #{params}" | |||
| puts "[trace][POST] request token: #{token}" | |||
| url = URI("#{full_url(url)}") | |||
| http = Net::HTTP.new(url.host, url.port) | |||
| request = Net::HTTP::Post.new(url) | |||
| request["Authorization"] = token | |||
| form_data = params[:data].stringify_keys.to_a | |||
| request.set_form form_data, 'multipart/form-data' | |||
| http.request(request) | |||
| end | |||
| def get(url, params={}) | |||
| puts "[trace][GET] request params: #{params}" | |||
| conn.get do |req| | |||
| @@ -100,11 +112,22 @@ class Trace::ClientService < ApplicationService | |||
| end | |||
| def render_response(response) | |||
| status = response.status | |||
| body = JSON.parse(response&.body) | |||
| if response.is_a?(Faraday::Response) | |||
| status = response.status | |||
| body = JSON.parse(response&.body) | |||
| log_error(status, body) | |||
| log_error(status, body) | |||
| return [body["code"], body["data"], body["error"]] | |||
| return [body["code"], body["data"], body["error"]] | |||
| end | |||
| if response.is_a?(Net::HTTPOK) | |||
| status = 200 | |||
| body = JSON.parse(response&.body) | |||
| log_error(status, body) | |||
| return [body["code"], body["data"], body["error"]] | |||
| end | |||
| end | |||
| end | |||