| | |
| | | package cn.huge.gateway.filter; |
| | | |
| | | import cn.huge.gateway.utils.JsonMapper; |
| | | import cn.huge.gateway.utils.ReturnBO; |
| | | import cn.huge.gateway.utils.SpringContextUtil; |
| | | import com.auth0.jwt.JWT; |
| | |
| | | if (status) { |
| | | return chain.filter(exchange); |
| | | } else { |
| | | JsonMapper jsonMapper = new JsonMapper(); |
| | | ReturnBO returnBO = new ReturnBO(); |
| | | //从请求头中取出token |
| | | String token = exchange.getRequest().getHeaders().getFirst("Authorization"); |
| | |
| | | originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); |
| | | returnBO.setCode(401); |
| | | returnBO.setMsg("您尚未登录,请登录后重试!"); |
| | | byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); |
| | | byte[] response = jsonMapper.toJson(returnBO).getBytes(StandardCharsets.UTF_8); |
| | | DataBuffer buffer = originalResponse.bufferFactory().wrap(response); |
| | | return originalResponse.writeWith(Flux.just(buffer)); |
| | | } else { |
| | |
| | | ServerHttpResponse originalResponse = exchange.getResponse(); |
| | | originalResponse.setStatusCode(HttpStatus.OK); |
| | | originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); |
| | | byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); |
| | | byte[] response = jsonMapper.toJson(returnBO).getBytes(StandardCharsets.UTF_8); |
| | | DataBuffer buffer = originalResponse.bufferFactory().wrap(response); |
| | | return originalResponse.writeWith(Flux.just(buffer)); |
| | | } else { |