예제 #1
0
파일: lua.go 프로젝트: Alienero/IamServer
func (l *Lua) AddrMapping(private string) (public string) {
	rets, err := l.gl.Call(l.mappingFn, private)
	if err != nil {
		panic(err)
	}
	return lua.GetString(rets[0])
}
예제 #2
0
파일: lua.go 프로젝트: Alienero/IamServer
// remote: remote address, url: HTTP request URL
func (l *Lua) IMAccessCheck(remote, url, path string, form url.Values, cookies []*http.Cookie) (string, byte, bool) {
	fms := lua.NewTalbe()
	for k, rs := range form {
		slice := lua.NewTalbe()
		slice.Append(rs)
		fms.Set(k, slice)
	}
	cs := lua.NewTalbe()
	for n, cookie := range cookies {
		c := lua.NewTalbe()
		c.Set("name", cookie.Name)
		c.Set("value", cookie.Value)
		cs.SetInt(n, c)
	}
	rets, err := l.gl.Call(l.imAccessCheck, remote, url, path, fms, cs)
	if err != nil {
		return "", 0, false
	}
	return lua.GetString(rets[0]), byte(lua.GetNumber(rets[1])), lua.GetBool(rets[2])
}