Pequeño server local

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

                             http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>


    <groupId>com.example</groupId>

    <artifactId>simple-server</artifactId>

    <version>1.0-SNAPSHOT</version>


    <properties>

        <java.version>11</java.version>

    </properties>


    <dependencies>

        <!-- NanoHTTPD -->

        <dependency>

            <groupId>org.nanohttpd</groupId>

            <artifactId>nanohttpd</artifactId>

            <version>2.3.1</version>

        </dependency>

    </dependencies>


    <build>

        <plugins>

            <!-- Compilador -->

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.10.1</version>

                <configuration>

                    <source>${java.version}</source>

                    <target>${java.version}</target>

                </configuration>

            </plugin>


            <!-- Shade plugin para fat jar -->

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-shade-plugin</artifactId>

                <version>3.4.1</version>

                <executions>

                    <execution>

                        <phase>package</phase>

                        <goals>

                            <goal>shade</goal>

                        </goals>

                        <configuration>

                            <transformers>

                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

                                    <mainClass>com.example.SimpleServer</mainClass>

                                </transformer>

                            </transformers>

                        </configuration>

                    </execution>

                </executions>

            </plugin>

        </plugins>

    </build>

</project>


<properties>

    <java.version>11</java.version>

</properties>




package com.example;


import fi.iki.elonen.NanoHTTPD;

import java.util.Map;


public class SimpleServer extends NanoHTTPD {


    public SimpleServer() throws Exception {

        super(8080);

        start(SOCKET_READ_TIMEOUT, false);

        System.out.println("Servidor corriendo en http://localhost:8080/");

    }


    @Override

    public Response serve(IHTTPSession session) {

        StringBuilder sb = new StringBuilder();


        sb.append("Method: ").append(session.getMethod()).append("\n");

        sb.append("URI: ").append(session.getUri()).append("\n");


        // Headers

        sb.append("Headers:\n");

        for (Map.Entry<String, String> h : session.getHeaders().entrySet()) {

            sb.append("  ").append(h.getKey()).append(" = ").append(h.getValue()).append("\n");

        }


        // Query parameters

        if (session.getParameters() != null && !session.getParameters().isEmpty()) {

            sb.append("Params:\n");

            session.getParameters().forEach((k, v) ->

                sb.append("  ").append(k).append(" = ").append(v).append("\n")

            );

        }


        // Mostrar en consola también

        System.out.println("==== NUEVA PETICIÓN ====");

        System.out.println(sb.toString());

        System.out.println("========================");


        return newFixedLengthResponse(sb.toString());

    }


    public static void main(String[] args) throws Exception {

        new SimpleServer();

    }

}




Comentarios

Entradas populares de este blog

CobolParser Para Spark

iteratorSeguro