2

I am new to Java. I used write server in Golang. I need to send response to the HttpExchange. Here is my code:

public static void main(String[] args) throws IOException 
{
  Server = HttpServer.create(new InetSocketAddress(8000),0);
  Server.createContext("/login", new SimpleHandler());
  Server.setExecutor(null);
  Server.start();
}
class SimpleHandler implements HttpHandler
{
    @Override
    public void handle(HttpExchange request) throws IOException 
    {
     //Here I need to do like request.Response.Write(200,"DONE");
    }
}
Nikolas Charalambidis
  • 40,893
  • 16
  • 117
  • 183
bungler
  • 33
  • 1
  • 7

2 Answers2

7

Handle method in your case should looks like:

    public void handle(HttpExchange request) throws IOException
    {
        byte[] response = "DONE".getBytes();
        e.sendResponseHeaders(200, response.length);
        OutputStream os = e.getResponseBody();
        os.write(response);
        os.close();
   }
Mike Shauneu
  • 3,201
  • 19
  • 21
3

Use the sendResponseHeaders(int rCode, long responseLength) method. See the documentation and the example:

@Override
public void handle(HttpExchange request) throws IOException {
     request.sendResponseHeaders(200, "DONE");
}
Nikolas Charalambidis
  • 40,893
  • 16
  • 117
  • 183