[ANN]: golax, a framework to build REST APIs

617 views
Skip to first unread message

Gerardo Oscar JT

unread,
Feb 4, 2016, 11:11:36 AM2/4/16
to golang-nuts
Hello, this is my first intervention in this forum.

I'd like to introduce you golax (https://github.com/fulldump/golax) a framework
to build REST APIs from a different perspective: using nodes instead of full
paths, and `interceptors` instead of middlewares.

From my humble point of view it is a powerful approach to the REST APIs 
world.

Have a good day!
fulldump

Adrian Sampaleanu

unread,
Feb 4, 2016, 11:28:00 PM2/4/16
to golang-nuts

Looks pretty clean, at a glance. Have you done any performance testing against some of the most popular alternatives?

Gerardo Oscar JT

unread,
Feb 5, 2016, 4:32:45 AM2/5/16
to golang-nuts
The `example` project that came with the golax code is a basic CRUD over a `users` collection. These are the results with a i3 350M cpu:

Requests per second:    15339.26 [#/sec] (mean)

Requests per second:    15172.22 [#/sec] (mean)

It is very interesting to compare it with others like Gorilla, I will publish a comparative.

Please, find attached the full ab output file.
performance_ab.txt

Bingyu Song

unread,
Feb 6, 2016, 12:58:07 PM2/6/16
to golang-nuts
 look nice

在 2016年2月5日星期五 UTC+8上午12:11:36,Gerardo Oscar JT写道:

Gerardo Oscar JT

unread,
Feb 10, 2016, 6:48:28 PM2/10/16
to golang-nuts
I have just uploaded a small project (https://github.com/fulldump/golax-performance) to compare against an implementation with gorilla.

The golax implementation is the same as the example that comes with the framework but with logging (that is the reason why performance is 12K tps instead of 15K tps I said in my previous comment).

At first glance is faster than gorilla!



El viernes, 5 de febrero de 2016, 5:28:00 (UTC+1), Adrian Sampaleanu escribió:

Gerardo Oscar JT

unread,
Feb 10, 2016, 6:48:57 PM2/10/16
to golang-nuts
Thanks ;)

Gerardo Oscar JT

unread,
Feb 12, 2016, 12:22:31 PM2/12/16
to golang-nuts
New release v0.2.0 https://github.com/fulldump/golax/releases/tag/v0.2.0 !!

Release notes:

  • Original httpWriter has been wrapped, so now c.Response.StatusCode and c.Response.Length are available
  • Support c.PathHandlers
  • All references to middlewares now are interceptors
  • Added new interceptor: golax.InterceptorLog

During this coding session, some new features and bugs has been discovered, it will be updated soon.

aldoth...@gmail.com

unread,
Feb 13, 2016, 10:56:45 AM2/13/16
to golang-nuts
Interesting! Starred your project

Gerardo Oscar JT

unread,
Feb 17, 2016, 6:46:16 PM2/17/16
to golang-nuts, aldoth...@gmail.com
Thanks !!!

El sábado, 13 de febrero de 2016, 16:56:45 (UTC+1), aldoth...@gmail.com escribió:
Interesting! Starred your project

Gerardo Oscar JT

unread,
Feb 17, 2016, 6:47:46 PM2/17/16
to golang-nuts
New release 0.3.0 https://github.com/fulldump/golax/releases/tag/v0.3.0

Release notes:
  • Fix issue #5 (url parameter is lost)
  • Allow regex in nodes with parameters
  • Add some doc


Gerardo Oscar JT

unread,
Sep 30, 2016, 7:34:11 AM9/30/16
to golang-nuts
New Golax Interceptor: 'NoCache' to avoid browser http caching https://github.com/fulldump/golax/blob/master/interceptors.go#L66-L84
Reply all
Reply to author
Forward
0 new messages