Optical
Aberration

#hummingbird

3 December 2021

In this article I am going to cover how to build a HTTP Proxy server using Swift. We will use the Hummingbird HTTP server framework as the basis for the server and use the Swift server AsyncHTTPClient HTTP client to forward on requests to the target service.A proxy server is a service that sits between a client and another service. It forwards messages from the client onto the…

1 December 2021

The Hummingbird server framework is designed to be flexible. It imposes as little structure as possible on how you build your application, but sometimes you need some structure. Do you really want to build all your application setup boilerplate every time you create a new app? To avoid this I have written a hummingbird project template which can be your starting point for your next app.GitHub has a feature called template repositories. These allow you to create a new project repository setup for a…

21 September 2021

Swift 5.5 has been released. This new release includes a series of new concurrency features including, async/await, structured concurrency and actors. Probably one of the most exciting series of additions to Swift in a long time (and this is from a language with new features appearing, what seems like, every other week).The recently released version of Hummingbird (v0.13.0) includes new APIs that allow you to take…

9 April 2021

Almost 8 weeks back I published a post announcing the release of my Swift based http application framework hummingbird. This post is to update everyone on all the new stuff that has been added since that first post.The web application layer has had a number of changes. Much of these have been API changes as I continue to refine the interfaces. I apologize to anymore who might have been using the framework and having to fix up their code on…

28 February 2021

Along with Hummingbird, my web application framework, comes HummingbirdLambda. This allows you to take your Hummingbird application and run it on an AWS Lambda with API Gateway as an interface.As long as all the services your application uses are accessible from AWS Lambda and your application doesn't have any internal persistent state moving to Lambda should be fairly easy. You should be able to move your application setup, middleware,…