001package io.freefair.spring.okhttp; 002 003import kotlin.Pair; 004import okhttp3.Headers; 005import org.springframework.http.HttpHeaders; 006import org.springframework.util.Assert; 007 008public final class OkHttpUtils { 009 public static HttpHeaders toSpringHeaders(Headers okhttpHeaders) { 010 Assert.notNull(okhttpHeaders, "Headers must not be null"); 011 HttpHeaders springHeaders = new HttpHeaders(); 012 for (Pair<? extends String, ? extends String> okhttpHeader : okhttpHeaders) { 013 springHeaders.add(okhttpHeader.getFirst(), okhttpHeader.getSecond()); 014 } 015 return springHeaders; 016 } 017 018 public static Headers toOkHttpHeaders(HttpHeaders springHeaders) { 019 Headers.Builder builder = new Headers.Builder(); 020 springHeaders.forEach((name, values) -> { 021 values.forEach(value -> builder.add(name, value)); 022 }); 023 return builder.build(); 024 } 025 026 private OkHttpUtils() { 027 throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); 028 } 029}