Skip to content

Creating Middleware

Joshua Segal edited this page Mar 3, 2021 · 2 revisions

JServe middleware can serve many functions and applications.

To create a middleware for JServe servers, you only need to do 2 things:

  1. Create your middleware class
  2. Create event handlers (implement the EventHandler interface)

Create middleware class

package com.org.yourpackagename;

import com.devsegal.jserve.middleware.EventHandler;
import com.devsegal.jserve.middleware.Middleware;

import java.util.ArrayList;
import java.util.List;

public class SomeMiddleware extends Middleware {

    ArrayList<EventHandler> eventHandlers = new ArrayList<>();

    public SomeMiddleware() {
        eventHandlers.add(new EventHandlerForInsertingJavascript());
        eventHandlers.add(new EventHandlerForLoggingRequests());

        // And so on, until all EventHandler's have been added.
    }

    @Override
    public List<EventHandler> getEventHandlers() {
        return eventHandlers;
    }
}

Create event handler

package com.org.yourpackagename;

import com.devsegal.jserve.RequestParser;
import com.devsegal.jserve.ResponseStream;
import com.devsegal.jserve.middleware.EventHandler;

public class EventHandlerForInsertingJavascript implements EventHandler {

    @Override
    public String getEventType() {
        return "http-request-received";
    }

    @Override
    public void action(RequestParser requestParser, ResponseStream responseStream) {
        responseStream.insertContent("<script>alert();</script>");
    }
}

Now, you can distribute your JServe-ready middleware.