GetServerMessageImpl.java 3.58 KB
package com.example.fuzzControll.service.impl;

import com.example.fuzzControll.conf.KittyProperties;
import com.example.fuzzControll.exception.serverException.ServerException;
import com.example.fuzzControll.service.GetServerMessageService;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Slf4j
@Service("getServerMessageService")
public class GetServerMessageImpl implements GetServerMessageService {
    @Autowired
    KittyProperties kitty;

    public String getServerMsg(String messageName) {
        switch (messageName) {
            case "templateInfo": {
                HttpGet httpGetTemplateInfo = new HttpGet(kitty.getTemplateInfoHttp());
                try (CloseableHttpClient httpClient = HttpClients.createDefault();
                     CloseableHttpResponse templateInfoResponse = httpClient.execute(httpGetTemplateInfo);) {
                    return EntityUtils.toString(templateInfoResponse.getEntity(), "utf-8");
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new ServerException("get server templateInfo error !");
                }
            }
            case "stats": {
                HttpGet httpGetStats = new HttpGet(kitty.getStatsHttp());
                try (CloseableHttpClient httpClient = HttpClients.createDefault();
                     CloseableHttpResponse statsResponse = httpClient.execute(httpGetStats);) {
                    return EntityUtils.toString(statsResponse.getEntity(), "utf-8");
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new ServerException("get server stats error !");
                }
            }
            case "report": {
                HttpGet httpGetStats = new HttpGet(kitty.getReportHttp());
                try (CloseableHttpClient httpClient = HttpClients.createDefault();
                     CloseableHttpResponse reportResponse = httpClient.execute(httpGetStats);) {
                    return EntityUtils.toString(reportResponse.getEntity(), "utf-8");
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new ServerException("get server report error !");

                }
            }
            case "stages": {
                HttpGet httpGetStats = new HttpGet(kitty.getStagesHttp());
                try (CloseableHttpClient httpClient = HttpClients.createDefault();
                     CloseableHttpResponse stagesResponse = httpClient.execute(httpGetStats);) {
                    return EntityUtils.toString(stagesResponse.getEntity(), "utf-8");
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new ServerException("get server stages error !");
                }
            }
            default:
                return "";
        }
    }

    @Override
    public String getStats() {
        return getServerMsg("stats");
    }

    @Override
    public String getTemplateInfo() throws ServerException{
        return getServerMsg("templateInfo");
    }

    @Override
    public String getStages() throws ServerException{
        return getServerMsg("stages");
    }

    @Override
    public String getReport() throws ServerException{
        return getServerMsg("report");
    }
}