Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

XML-RPC support for MacroExpress (Swift XML-RPC servers)

License

Notifications You must be signed in to change notification settings

Macro-swift/MacroXmlRpc

Repository files navigation

Macro XML-RPC

XML-RPC support for MacroExpress.

This is covered in the Writing an Swift XML-RPC Server blog entry.

What does it look like?

#!/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)

Environment Variables

  • 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

Async/Await

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).

Links

Who

Macro XML-RPC is brought to you by the Helge Hess 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!

About

XML-RPC support for MacroExpress (Swift XML-RPC servers)

Topics

Resources

Readme

License

Apache-2.0 license

Contributing

Contributing

Stars

Watchers

Forks