High performance non-blocking webserver

Related tags

Server undertow
Overview
Comments
  • Upgrade to java.nio.file.Path

    Upgrade to java.nio.file.Path

    Upgraded the code to use java.nio.file.Path instead of java.io.File. I tried to make sure everything stays backwards compatible, for example I added a getFilePath (returns a Path) method for the resource managers, and left in the getFile(), which returns a File instance.

    I also created a PathResourceManager, which is a replacement for the FileResourceManager, only using the nio API. To avoid code duplication I made the old FileRM extend the PathRM, keeping the necessary public methods. This ensures that users of FileRM will not receive a compile error upon upgrading.

    Also I made some cleanup in the FileUtils class and in the tests.

    opened by Elopteryx 52
  • UNDERTOW-238 Support OSGi.

    UNDERTOW-238 Support OSGi.

    Added manifest headers.

    Added package to generated "fakeclass", since bnd does not accept classes in the default package.

    Added an OSGi smoke test.

    Depends on https://github.com/xnio/xnio/pull/57

    opened by hwellmann 36
  • websocket extension simplification

    websocket extension simplification

    modify websocket extensions so they are a simple transform on a Pooled that is always applied (the transform might be an identity)

    also introduce a send(Pooled) API to framed protocols to allow transferring ownership of a buffer to the new frame. this reduces one set of copies when using the WebSockets helper class (although there is an additional copy that exists when using permessage-deflate)

    opened by osi 31
  • Read Timeout Conduit Leak Patch

    Read Timeout Conduit Leak Patch

    Use a weak reference from the timeout command to the conduit to allow normal garbage collection of the conduit while the timeout is still queued. Use phantom references to manage cleanup of any leaked timeout commands.

    opened by ekpeters 25
  • Updates to ResourceHandler to be more flexible

    Updates to ResourceHandler to be more flexible

    The current state of ResourceHandler provides lots of useful code, but it's completely inaccessible outside of the construct of the pre-defined ResourceHandler methodology. This PR attempts to extract that functionality into a more abstract use-case without damaging the existing utilization. This is accomplished by an AbstractResourceHandler that provides the base Resource serving functionality and is extended by ResourceHandler.

    opened by darkfrog26 22
  • UNDERTOW-289

    UNDERTOW-289

    My use case is that I want to pick hosts from the same data center firstly, i have noticed that someone create issue for it: https://issues.jboss.org/browse/UNDERTOW-289

    opened by pszymczyk 20
  • Fix : Can't handle CJK multibyte request in AJP parameter value

    Fix : Can't handle CJK multibyte request in AJP parameter value

    Problem :

    In HTTP protocol hander can handle multibyte character set. My case use EUC-KR character set. Tested in Wildfly 8.2 GA.

                <server name="default-server">
                    <ajp-listener name="ajp" socket-binding="ajp" url-charset="EUC-KR"/>
                    <http-listener name="default" socket-binding="http" url-charset="EUC-KR"/>
    

    http://localhost:8080/test/test.jsp?param=한글

    But, When I use AJP protocol can't handle EUC-KR character set. http://localhost/test/test.jsp?param=한글

    Query param's value are not '한글', it prints '??'. Similar cases are in https://developer.jboss.org/thread/242677?start=0&tstart=0

    Reason :

    I found that it cause of handle byte as a char in AbstractAjpParser. Multibyte(CJK ; Chinese, Japanese, Korean) character set are use most significant bit. So, when byte are casted to char, multibytes informations are eliminated.

    Thanks for your great 'undertow'.

    opened by nameislocus 19
  • JaCoCo Test Coverage

    JaCoCo Test Coverage

    Added a test coverage profile that creates jacoco execution data for each module and then aggregates the report (with an ant task) in the coverage-report module.

    I had to modify one test class a little bit so it would play nice with the instrumentation from the JaCoCo agent.

    New modules will have to be added to the coverage report by hand when they are added.

    opened by chrisruffalo 18
  • [UNDERTOW-1759][UNDERTOW-1523] Initial GitHub actions test matrix

    [UNDERTOW-1759][UNDERTOW-1523] Initial GitHub actions test matrix

    This builds on top of Stuart's initial version, but splits the tests to use a matrix and test each module in parallel.

    Should also address: https://github.com/undertow-io/undertow/pull/901

    Jiras: https://issues.redhat.com/browse/UNDERTOW-1759 and https://issues.redhat.com/browse/UNDERTOW-1523

    enhancement 
    opened by luck3y 16
  • Backport fixes for 1.4.x branch

    Backport fixes for 1.4.x branch

    Backport of below PRs (from master to 1.4.x branch):

    • https://github.com/undertow-io/undertow/pull/736
    • https://github.com/undertow-io/undertow/pull/794

    to fix related vulnerabilites (CVEs).

    @fl4via it would be really nice if you could provide a new 1.4.x release which includes those fixes. Thanks 🙂

    opened by mibo 16
  • [UNDERTOW-1377] Test to reproduce concurrent dispatch failure

    [UNDERTOW-1377] Test to reproduce concurrent dispatch failure

    Client gets a socket timeout where the server is unaware of an active request. This is only reproducible in parallel AND with an exchange.dispatch. I am unable to reproduce this failure without TLS.

    opened by carterkozak 14
  • WIP: add a WildFly integration CI script to run weekly

    WIP: add a WildFly integration CI script to run weekly

    Signed-off-by: Flavia Rainone [email protected]

    This test is for evaluation. The current script runs per PR just so we can verify if the script is correct. Before merging, though, we will change the script to run weekly

    under verification waiting CI check 
    opened by fl4via 0
Magician is an asynchronous non-blocking network protocol analysis package, supports TCP, UDP protocol, built-in Http, WebSocket decoder

An asynchronous non-blocking network protocol analysis package Project Description Magician is an asynchronous non-blocking network protocol analysis

贝克街的天才 103 Nov 30, 2022
Library for composability of interdependent non-blocking I/O tasks

Composer Composer helps you to organize and execute multiple interdependent asynchronous input/output tasks such as webservice calls, database read/wr

krupal 19 Oct 8, 2021
Non-Blocking Reactive Foundation for the JVM

Reactor Core Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactive Extensions inspired API and efficient event streaming s

Reactor 4.4k Dec 30, 2022
vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.

Vavr is an object-functional language extension to Java 8, which aims to reduce the lines of code and increase code quality. It provides persistent co

vavr 5.1k Jan 3, 2023
Webserver Jersey with Java

Webserver Jersey with Java About Observamos na Unidade 3 que o Jersey facilita a construção de Web Services com Java. Baseado no projeto da unidade 3,

Giovane Santos Silva 3 Aug 11, 2022
Helidon Níma Example - Loom based webserver

helidon-nima-example Helidon Níma Example - Loom based webserver This example is built on top of an ALPHA-1 release of Helidon 4. Alpha releases serve

Tomas Langer 30 Dec 16, 2022
A high available,high performance distributed messaging system.

#新闻 MetaQ 1.4.6.2发布。更新日志 MetaQ 1.4.6.1发布。更新日志 MetaQ 1.4.5.1发布。更新日志 MetaQ 1.4.5发布。更新日志 Meta-ruby 0.1 released: a ruby client for metaq. SOURCE #介绍 Meta

dennis zhuang 1.3k Dec 12, 2022
Blocking the your minecraft plugins to show from server member

BSP Blocking your minecraft server plugins to show. 한국어 README Features Blocking your minecraft server plugins to show. Custom Events. Install Install

Plma75 2 Jan 22, 2022
Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies.

Sentey Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies. But firewalls are a

ComuGamers Network 18 Dec 28, 2022
An extensible Java framework for building XML and non-XML streaming applications

Smooks Framework This is the Git source code repository for the Smooks Project. Build Status Building Pre-requisites JDK 8 Apache Maven 3.2.x Maven gi

Smooks Framework 353 Dec 1, 2022
LSPatch: A non-root Xposed framework fork from Xpatch

Introduction LSPatch fork from Xpatch. LSPatch provides a way to insert dex and so into the target APK by repackaging. The following changes have been

LSPosed 1.9k Jan 2, 2023
AndroidHiddenApiBypass - Bypass restrictions on non-SDK interfaces

AndroidHiddenApiBypass Bypass restrictions on non-SDK interfaces. Why AndroidHiddenApiBypass? Pure Java: no native code used. Reliable: does not rely

LSPosed 903 Jan 6, 2023
Non intrusive log4j2 RCE vulnerability patch.

Log4j Patch Resolve the RCE vulnerability caused by JNDI lookup in log4j 2.0~2.14.1. It is licensed under the WTFPL 2.0 license, you can do anything w

Glavo 67 Dec 2, 2022
This mod gives the option to server admins to disable chat reporting, in a non-intrusive way

Simply No Report This mod gives the option to server admins to disable chat reporting, in a non-intrusive way. It is disabled by default to let everyo

Amber Bertucci 17 Aug 20, 2022
Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding

Everyone can develop projects independently, quickly and efficiently! What is spring-boot-plus? A easy-to-use, high-speed, high-efficient, feature-ric

geekidea 2.3k Dec 31, 2022
Elegance, high performance and robustness all in one java bean mapper

JMapper Framework Fast as hand-written code with zero compromise. Artifact information Status Write the configuration using what you prefer: Annotatio

null 200 Dec 29, 2022
A high performance caching library for Java

Caffeine is a high performance, near optimal caching library. For more details, see our user's guide and browse the API docs for the latest release. C

Ben Manes 13k Jan 3, 2023
Lightweight, high performance Java caching

cache2k Java Caching cache2k is an in-memory high performance Java Caching library. Cache<String,String> cache = new Cache2kBuilder<String, String>(

null 672 Dec 16, 2022