* Add Lightweight WebSocket Server Support
* Run WebSocketServerTests and open ws.html in a browser.
- Sending 'start' begins sending an incrementing # once per second.
- 'stop' stops the stream (leaving the socket open), 'start' resumes again.
- Test terminates after 60 seconds.
* Fixes and Improvements for WebSocket Server
- fix masking
- fix bytes sent
- add error handling to remove dead sockets
- create new web page instead of using vert.x example
- add status box
- automatically update message to send to start/stop appropriately
- update SI to 2.2.0.RELEASE
- change test to a main()
* Use Interceptor for Handshake
* Move handshake to an interceptor instead of doing it in the SI flow.
* Add close button to web page.
* Add code to remove state from deserializer on close.
* Implement Orderly Close Per RFC6455
* Rename Packages - org.springframework.integration.x.*
* Change Version to 0.1.0.
* Autbahn Test Suite - All Tests Pass
- 1.1.x tests from the Autobahn Test Suite.
- Autobahn 1.2.x Tests (Binary)
- Autobahn Test 2.* (Ping/Pong)
- Autobahn Tests 3.* (Reserved Bits)
- Autobahn Tests 4.* (Invalid Opcodes)
- Autobahn 5.* (Fragmentation)
- Autobahn 6.* (UTF-8 Handling)
- Autobahn Tests 7.* (Close Handling)
* "non-strict" results - fast fail on bad UTF-8. We currently don't detect the bad UTF-8 until all fragments are received.
* Run AutobahnTests.java and add the following to fuzzingclient.json...
{"agent": "SIServer", "url": "ws://localhost:18080", "options": {"version": 18}}
* Remove sysout
* Replace with logger.debug().
* Remove SockJS Dependencies
- Project started as a SockJS client; WebSocket classes were incorrectly dependent on some SockJS code.
* Extracted the WebSocket code to its own class hierarchy.
* Test Autobahn with SSL (wss://...)
- Add trust store and key store.
- Add config to listen for wss: as well as ws: connections
* To test Autobahn for both ws and wss - In the wstest config file use:
"servers": [
{"agent": "SIServer", "url": "ws://localhost:18080", "options": {"version": 18}},
{"agent": "SIServerSSL", "url": "wss://localhost:28080", "options": {"version": 18}}
],
* Polishing + Resequence when Using NIO
- Improve debug logging
- Clear fragments
- Add ResequencingMessageHandler to resequence messages when using NIO (frames can arrive on different threads, out of order; this causes issues with the Autobahn tests.
* Reject Non WS Connections
- only apply Resequencer if NIO Connection factory is configured with apply-sequence.
- check protocol version - only 13 is supported.
62 lines
1.6 KiB
Groovy
62 lines
1.6 KiB
Groovy
apply plugin: 'maven'
|
|
|
|
ext.optionalDeps = []
|
|
ext.providedDeps = []
|
|
|
|
ext.optional = { optionalDeps << it }
|
|
ext.provided = { providedDeps << it }
|
|
|
|
install {
|
|
repositories.mavenInstaller {
|
|
customizePom(pom, project)
|
|
}
|
|
}
|
|
|
|
def customizePom(pom, gradleProject) {
|
|
pom.whenConfigured { generatedPom ->
|
|
// respect 'optional' and 'provided' dependencies
|
|
gradleProject.optionalDeps.each { dep ->
|
|
generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
|
|
}
|
|
gradleProject.providedDeps.each { dep ->
|
|
generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
|
|
}
|
|
|
|
// eliminate test-scoped dependencies (no need in maven central poms)
|
|
generatedPom.dependencies.removeAll { dep ->
|
|
dep.scope == 'test'
|
|
}
|
|
|
|
// add all items necessary for maven central publication
|
|
generatedPom.project {
|
|
name = gradleProject.description
|
|
description = gradleProject.description
|
|
url = 'https://github.com/SpringSource/spring-integration'
|
|
organization {
|
|
name = 'SpringSource'
|
|
url = 'http://springsource.org'
|
|
}
|
|
licenses {
|
|
license {
|
|
name 'The Apache Software License, Version 2.0'
|
|
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
distribution 'repo'
|
|
}
|
|
}
|
|
scm {
|
|
url = 'https://github.com/SpringSource/spring-integration'
|
|
connection = 'scm:git:git://github.com/SpringSource/spring-integration'
|
|
developerConnection = 'scm:git:git://github.com/SpringSource/spring-integration'
|
|
}
|
|
|
|
developers {
|
|
developer {
|
|
id = 'garyrussell'
|
|
name = 'Gary Russell'
|
|
email = 'grussell@vmware.com'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|