Using Winry, Mishima is a spring-like java webserver host.
I have a maven repository where I publish builds, here is how you would import it as a dependency with gradle:
repositories {
maven {
url = 'https://repo.isshoni.institute'
}
}
dependencies {
implementation 'tv.isshoni:mishima:0.8.9'
}
- Socket Server
- SSL
- Event
- Socket server by default publishes
ConnectionEvent
s, this type will keep it that way.
- Socket server by default publishes
- Packet
- Turns server into simple JSON packet protocol consumer, might practice some encapsulation.
- Still highly in design phase and might hang in permanent limbo. HTTP & event is main focus.
- HTTP -- in "usable" state currently
- Hooks in HTTP server management services & annotations to turn into spring-like library.
- Path annotation
- Protocol
- HTTP/1.1
- HTTP/2 -- maybe optional?
- HTTP/3 -- maybe optional?
- Methods
- GET
- POST
- PUT
CONNECT- Will not implement for now, doesn't seem "related"
- DELETE
- HEAD
- OPTIONS
- Automated for CORS, but can also be manually done.
TRACE- Will not implement for now, doesn't seem "related"
- Websockets -- investigate how these might work, if they work how I suspect they might, allow conversion to Packet handler
- CORS
- Verify that more is not required for proper CORS integration.
- Serialization
- Responses
- Basic GSON object serialization
- Advanced serialization via serializers
- Special response serialization, i.e. custom headers, response code, etc.
- Add parameter annotations that allow for response customization without needing to return a response object
- Responses
- Deserialization
- Body
- Json
- Query Parameter
- Special serializers, allow for embedding objects into query params
- Body