---
 doc/lua-api/index.rst |  8 ++++++++
 src/hlua_fcn.c        | 14 ++++++++++++++
 2 files changed, 22 insertions(+)


diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst
index 7a77e46ee..cdb285957 100644
--- a/doc/lua-api/index.rst
+++ b/doc/lua-api/index.rst
@@ -925,6 +925,14 @@ Server class
 
   This class provides a way for manipulating servers and retrieving information.
 
+.. js:attribute:: Server.name
+
+  Contain the name of the server.
+
+.. js:attribute:: Server.puid
+
+  Contain the proxy unique identifier of the server.
+
 .. js:function:: Server.is_draining(sv)
 
   Return true if the server is currently draining sticky connections.
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index a8d53d45b..280d8e5af 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -490,6 +490,8 @@ int hlua_listener_get_stats(lua_State *L)
 
 int hlua_fcn_new_server(lua_State *L, struct server *srv)
 {
+	char buffer[10];
+
 	lua_newtable(L);
 
 	/* Pop a class sesison metatable and affect it to the userdata. */
@@ -498,6 +500,18 @@ int hlua_fcn_new_server(lua_State *L, struct server *srv)
 
 	lua_pushlightuserdata(L, srv);
 	lua_rawseti(L, -2, 0);
+
+	/* Add server name. */
+	lua_pushstring(L, "name");
+	lua_pushstring(L, srv->id);
+	lua_settable(L, -3);
+
+	/* Add server puid. */
+	lua_pushstring(L, "puid");
+	snprintf(buffer, sizeof(buffer), "%d", srv->puid);
+	lua_pushstring(L, buffer);
+	lua_settable(L, -3);
+
 	return 1;
 }
 

Reply via email to