RequestUtil.java 1.61 KB
package com.infoloop.tianting.utils;

import cn.dev33.satoken.util.SaFoxUtil;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

public class RequestUtil {
    public static Map<String, String> getHeaders(HttpServletRequest request) {
        final var headers = new HashMap<String, String>();
        final var headerNames = request.getHeaderNames();
        while (headerNames.hasMoreElements()) {
            final var headerName = headerNames.nextElement();
            final var headerValue = request.getHeader(headerName);
            headers.put(headerName, headerValue);
        }
        return headers;
    }

    public static Map<String, String> getFormParameters(HttpServletRequest request) {
        final var formParameters = new HashMap<String, String>();
        for (final var entry : request.getParameterMap().entrySet()) {
            final var paramName = entry.getKey();
            final var paramValues = entry.getValue();
            if (paramValues.length > 0) {
                formParameters.put(paramName, String.join(", ", paramValues));
            }
        }
        return formParameters;
    }

    public static String joinParams(Map<String, String> paramsMap) {
        StringBuilder sb = new StringBuilder();
        for (String key : paramsMap.keySet()) {
            Object value = paramsMap.get(key);
            if (!SaFoxUtil.isEmpty(value)) {
                sb.append(key).append("=").append(value).append("&");
            }
        }
        if (sb.length() > 0) {
            sb.deleteCharAt(sb.length() - 1);
        }
        return sb.toString();
    }

}