XML-RPC support for MacroExpress.
This is covered in the Writing an Swift XML-RPC Server blog entry.
#!/usr/bin/swift sh
import MacroExpress // @Macro-swift
import MacroXmlRpc // @Macro-swift
let app = express()
app.route("/RPC2")
.use(bodyParser.xmlRpcCall())
.rpc("ping") { _ in "pong" }
.rpc("add") { ( a: Int, b: Int ) in a + b }
.use(xmlrpc.introspection())
app.listen(1337)
macro.core.numthreads
macro.core.iothreads
macro.core.retain.debug
macro.concat.maxsize
macro.streams.debug.rc
macro.router.debug
macro.router.matcher.debug
macro.router.walker.debug
This doesn't support async
/await
yet as proper streaming
would require custom executors. Which are not yet available.
Maybe a temporary measure would be appropriate just for XML-RPC (which rarely has streaming consumers/producers).
Macro XML-RPC is brought to you by the Helge Heß and ZeeZide. We like feedback, GitHub stars, cool contract work, presumably any form of praise you can think of.
There is a #microexpress
channel on the
Noze.io Slack. Feel free to join!
link |
Stars: 2 |
Last commit: 1 year ago |
Updated to use the latest SwiftNIO. This implies that Swift 5.5.2+ is now required.
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics