X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fhttp%2FRemoteAuthHttpExchange.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fhttp%2FRemoteAuthHttpExchange.java;h=68e0b1e3eada1cae69318cc03f2694c86346d6e6;hb=81d9084e2c9fd9d33ca1d864171d28f9564647d8;hp=0000000000000000000000000000000000000000;hpb=e9d0731a65b0d3523906c58f987ad9610c4286b7;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/http/RemoteAuthHttpExchange.java b/org.argeo.cms/src/org/argeo/cms/internal/http/RemoteAuthHttpExchange.java new file mode 100644 index 000000000..68e0b1e3e --- /dev/null +++ b/org.argeo.cms/src/org/argeo/cms/internal/http/RemoteAuthHttpExchange.java @@ -0,0 +1,76 @@ +package org.argeo.cms.internal.http; + +import java.util.Collections; +import java.util.List; +import java.util.Locale; + +import org.argeo.cms.auth.RemoteAuthRequest; +import org.argeo.cms.auth.RemoteAuthResponse; +import org.argeo.cms.auth.RemoteAuthSession; + +import com.sun.net.httpserver.HttpExchange; + +public class RemoteAuthHttpExchange implements RemoteAuthRequest, RemoteAuthResponse { + private HttpExchange httpExchange; + + public RemoteAuthHttpExchange(HttpExchange httpExchange) { + this.httpExchange = httpExchange; + } + + @Override + public void setHeader(String keys, String value) { + httpExchange.getResponseHeaders().put(keys, Collections.singletonList(value)); + } + + @Override + public RemoteAuthSession getSession() { + // TODO Auto-generated method stub + return null; + } + + @Override + public RemoteAuthSession createSession() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Locale getLocale() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Object getAttribute(String key) { + return httpExchange.getAttribute(key); + } + + @Override + public void setAttribute(String key, Object object) { + httpExchange.setAttribute(key, object); + } + + @Override + public String getHeader(String key) { + List lst = httpExchange.getRequestHeaders().get(key); + if (lst == null || lst.size() == 0) + return null; + return lst.get(0); + } + + @Override + public int getLocalPort() { + return httpExchange.getLocalAddress().getPort(); + } + + @Override + public String getRemoteAddr() { + return httpExchange.getRemoteAddress().getHostName(); + } + + @Override + public int getRemotePort() { + return httpExchange.getRemoteAddress().getPort(); + } + +}