SYMBOL INDEX (300 symbols across 25 files) FILE: main.go function init (line 19) | func init() { function main (line 28) | func main() { FILE: res/js/default.js function pproxy_tab_sup (line 1) | function pproxy_tab_sup(target){ FILE: res/js/jquery.js function cu (line 2) | function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.pa... function cr (line 2) | function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.cs... function cq (line 2) | function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),funct... function cp (line 2) | function cp(){cn=b} function co (line 2) | function co(){setTimeout(cp,0);return cn=f.now()} function cf (line 2) | function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(... function ce (line 2) | function ce(){try{return new a.XMLHttpRequest}catch(b){}} function b$ (line 2) | function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.da... function bZ (line 2) | function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i... function bY (line 2) | function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a... function bX (line 2) | function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d... function bW (line 2) | function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],... function bV (line 2) | function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f... function by (line 2) | function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b===... function bl (line 2) | function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.... function bk (line 2) | function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f... function bj (line 2) | function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked... function bi (line 2) | function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("... function bh (line 2) | function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttr... function bg (line 2) | function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.... function bf (line 2) | function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tb... function V (line 2) | function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d... function U (line 2) | function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11} function M (line 2) | function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"... function L (line 2) | function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"ev... function J (line 2) | function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.... function D (line 2) | function D(){return!0} function C (line 2) | function C(){return!1} function m (line 2) | function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,... function l (line 2) | function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0} function k (line 2) | function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-... function K (line 2) | function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch... function a (line 2) | function a(b,c){return new a.fn.init(b,c)} function i (line 2) | function i(a){return function(c){b[a]=arguments.length>1?h.call(argument... function m (line 2) | function m(){--h||d.resolveWith(e,[e])} function e (line 3) | function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.t... function u (line 3) | function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){for(var af=0;af\.;]/;var X=Z.exec(Y)!=null;return X&&typeof... function XHR (line 3070) | function XHR (socket) { function empty (line 3139) | function empty () { } function stateChange (line 3145) | function stateChange () { function onload (line 3158) | function onload () { function HTMLFile (line 3288) | function HTMLFile (socket) { function XHRPolling (line 3457) | function XHRPolling () { function empty (line 3512) | function empty () {} function stateChange (line 3519) | function stateChange () { function onload (line 3532) | function onload () { function onerror (line 3539) | function onerror () { function JSONPPolling (line 3641) | function JSONPPolling (socket) { function complete (line 3708) | function complete () { function initIframe (line 3713) | function initIframe () { FILE: res/sjs/req_rewrite.js function pproxy_rewrite (line 2) | function pproxy_rewrite(req){ function pproxy_params_copy (line 23) | function pproxy_params_copy(obj){ function pproxy_obj_helper (line 35) | function pproxy_obj_helper(values){ FILE: serve/assest.go type AssestFile (line 24) | type AssestFile struct type AssestStruct (line 31) | type AssestStruct struct method GetAssestFile (line 48) | func (statics *AssestStruct) GetAssestFile(name string) (*AssestFile, ... method GetContent (line 83) | func (statics AssestStruct) GetContent(name string) string { method GetFileNames (line 92) | func (statics AssestStruct) GetFileNames(dir string) []string { method FileHandlerFunc (line 115) | func (statics *AssestStruct) FileHandlerFunc(name string) http.Handler... method HTTPHandler (line 154) | func (statics *AssestStruct) HTTPHandler(baseDir string) http.Handler { function init (line 37) | func init() { type _assestFileServer (line 158) | type _assestFileServer struct method ServeHTTP (line 164) | func (f *_assestFileServer) ServeHTTP(w http.ResponseWriter, r *http.R... function _assestGzipBase64decode (line 169) | func _assestGzipBase64decode(data string) string { function _assestBase64Decode (line 176) | func _assestBase64Decode(data string) string { FILE: serve/auth.go function getAuthorInfo (line 13) | func getAuthorInfo(req *http.Request) *User { method checkUserLogin (line 30) | func (ser *ProxyServe) checkUserLogin(userInfo *User) bool { method checkHTTPAuth (line 46) | func (ser *ProxyServe) checkHTTPAuth(reqCtx *requestCtx) bool { FILE: serve/broadcast.go method broadcastReq (line 8) | func (ser *ProxyServe) broadcastReq(reqCtx *requestCtx) bool { FILE: serve/certs.go function newCaCert (line 10) | func newCaCert(caCert []byte, caKey []byte) (tls.Certificate, error) { function getSslCert (line 25) | func getSslCert(caCertPath string, caKeyPath string) (ca tls.Certificate... FILE: serve/config.go type Config (line 18) | type Config struct method getTransport (line 245) | func (config *Config) getTransport() *http.Transport { constant authTypeNO (line 39) | authTypeNO = 0 constant authTypeBasic (line 40) | authTypeBasic = 1 constant authTypeBasicWithAny (line 41) | authTypeBasicWithAny = 2 constant authTypeBasicTry (line 42) | authTypeBasicTry = 3 constant responseSaveAll (line 44) | responseSaveAll = 0 constant responseSaveHasBroad (line 45) | responseSaveHasBroad = 1 constant sessionViewALL (line 47) | sessionViewALL = 0 constant sessionViewIPOrUser (line 48) | sessionViewIPOrUser = 1 type User (line 52) | type User struct method String (line 61) | func (u *User) String() string { method ConfigString (line 66) | func (u *User) ConfigString() string { method isPswEq (line 86) | func (u *User) isPswEq(psw string) bool { constant contentEncoding (line 71) | contentEncoding = "Content-Encoding" function GetVersion (line 77) | func GetVersion() string { function GetDemoConf (line 82) | func GetDemoConf() string { function LoadConfig (line 91) | func LoadConfig(confPath string) (*Config, error) { type configHosts (line 180) | type configHosts function loadHosts (line 183) | func loadHosts(confPath string) (hosts configHosts, err error) { function loadUsers (line 204) | func loadUsers(confPath string) (users map[string]*User, err error) { FILE: serve/init.go function init (line 6) | func init() { FILE: serve/kvStore.go type KV_TBALE_NAME_TYPE (line 10) | type KV_TBALE_NAME_TYPE constant KV_TABLE_REQ (line 13) | KV_TABLE_REQ KV_TBALE_NAME_TYPE = "req" constant KV_TABLE_RES (line 14) | KV_TABLE_RES KV_TBALE_NAME_TYPE = "res" type kvStore (line 17) | type kvStore struct method initTable (line 53) | func (kv *kvStore) initTable(name KV_TBALE_NAME_TYPE) { method GetkvStoreTable (line 57) | func (kv *kvStore) GetkvStoreTable(name KV_TBALE_NAME_TYPE) (tb *kvSto... method Gc (line 64) | func (kv *kvStore) Gc(max_life int64) { method StartGcTimer (line 70) | func (kv *kvStore) StartGcTimer(sec int64, max_life int64) { type kvStoreTable (line 23) | type kvStoreTable struct method Save (line 91) | func (tb *kvStoreTable) Save(key []byte, val *StoreType) error { method Get (line 99) | func (tb *kvStoreTable) Get(key []byte) (val *StoreType, err error) { method Del (line 111) | func (tb *kvStoreTable) Del(key []byte) (err error) { method Gc (line 119) | func (tb *kvStoreTable) Gc(gc_life int64) { type StoreType (line 28) | type StoreType struct function newStoreType (line 33) | func newStoreType(data map[string]any) *StoreType { function newKvStore (line 37) | func newKvStore(dbPath string) (kv *kvStore, err error) { function newkvStoreTable (line 79) | func newkvStoreTable(name KV_TBALE_NAME_TYPE, kv *kvStore) *kvStoreTable { FILE: serve/proxy.go type HttpProxy (line 16) | type HttpProxy struct method ServeHTTP (line 52) | func (proxy *HttpProxy) ServeHTTP(rw http.ResponseWriter, req *http.Re... method httpsHandle (line 57) | func (proxy *HttpProxy) httpsHandle(host string, ctx *goproxy.ProxyCtx... method RoundTrip (line 62) | func (proxy *HttpProxy) RoundTrip(ctx *requestCtx) { method getReqCtx (line 86) | func (proxy *HttpProxy) getReqCtx(req *http.Request) *requestCtx { method onResponse (line 99) | func (proxy *HttpProxy) onResponse(resp *http.Response, ctx *goproxy.P... method roundTripUpgrade (line 111) | func (proxy *HttpProxy) roundTripUpgrade(ctx *requestCtx) (err error) { function NewHttpProxy (line 24) | func NewHttpProxy(ser *ProxyServe) *HttpProxy { function my_requestHanderFunc (line 45) | func my_requestHanderFunc(r *http.Request, ctx *goproxy.ProxyCtx) (*http... constant PROXY_CTX_NAME (line 50) | PROXY_CTX_NAME = "X-PPROXY-CTX-ID" FILE: serve/reqCtx.go type requestCtx (line 17) | type requestCtx struct method init (line 61) | func (ctx *requestCtx) init() { method IsLocalRequest (line 104) | func (ctx *requestCtx) IsLocalRequest() bool { method GetIp (line 112) | func (ctx *requestCtx) GetIp() string { method PrintLog (line 117) | func (ctx *requestCtx) PrintLog() { method RoundTrip (line 136) | func (ctx *requestCtx) RoundTrip() { method badGateway (line 171) | func (ctx *requestCtx) badGateway(err error) { method DestAddr (line 177) | func (ctx *requestCtx) DestAddr() string { method saveRequestData (line 181) | func (ctx *requestCtx) saveRequestData() { method saveResponse (line 226) | func (ctx *requestCtx) saveResponse(res *http.Response) { method SetLog (line 268) | func (ctx *requestCtx) SetLog(k, v any) { method SetTimePoint (line 272) | func (ctx *requestCtx) SetTimePoint(key string) { method getNewDocid (line 276) | func (ctx *requestCtx) getNewDocid() int { function NewRequestCtx (line 45) | func NewRequestCtx(ser *ProxyServe, rw http.ResponseWriter, req *http.Re... function fixRequest (line 88) | func fixRequest(req *http.Request) { FILE: serve/req_modifer.go type requestModifier (line 21) | type requestModifier struct method getJsPath (line 38) | func (reqMod *requestModifier) getJsPath(name string) string { method tryLoadJs (line 46) | func (reqMod *requestModifier) tryLoadJs(name string) (err error) { method loadAllJs (line 59) | func (reqMod *requestModifier) loadAllJs() error { method getJsContent (line 77) | func (reqMod *requestModifier) getJsContent(name string) (content stri... method CanMod (line 89) | func (reqMod *requestModifier) CanMod() bool { method parseJs (line 93) | func (reqMod *requestModifier) parseJs(jsStr string, name string, save... method getJsFnByName (line 128) | func (reqMod *requestModifier) getJsFnByName(name string) (*otto.Value... method rewrite (line 138) | func (reqMod *requestModifier) rewrite(data map[string]any, name strin... function NewRequestModifier (line 29) | func NewRequestModifier(ser *ProxyServe) *requestModifier { FILE: serve/req_replay.go constant REPLAY_FLAG (line 11) | REPLAY_FLAG = "Proxy-pproxy_replay" constant REPLAY_REMOTEADDR (line 12) | REPLAY_REMOTEADDR = "Proxy-pproxy_remoteaddr" constant REPLAY_USER_NAME (line 13) | REPLAY_USER_NAME = "Proxy-pproxy_user" method handleReplay (line 16) | func (ctx *webRequestCtx) handleReplay() { method reqReplayPost (line 56) | func (ctx *webRequestCtx) reqReplayPost() { FILE: serve/req_rewrite.go method reqRewriteByjs (line 14) | func (ser *ProxyServe) reqRewriteByjs(reqCtx *requestCtx) int { method reqRewrite (line 210) | func (ser *ProxyServe) reqRewrite(reqCtx *requestCtx) int { method reqRewriteByHosts (line 238) | func (ser *ProxyServe) reqRewriteByHosts(req *http.Request) int { function _reqMapToURLValue (line 271) | func _reqMapToURLValue(values any) url.Values { FILE: serve/serve.go type ProxyServe (line 19) | type ProxyServe struct method ServeHTTP (line 46) | func (ser *ProxyServe) ServeHTTP(w http.ResponseWriter, req *http.Requ... method ServeHTTPProxy (line 77) | func (ser *ProxyServe) ServeHTTPProxy(w http.ResponseWriter, req *http... method Start (line 83) | func (ser *ProxyServe) Start() { method startAdmin (line 108) | func (ser *ProxyServe) startAdmin() { method getResponseByDocid (line 121) | func (ser *ProxyServe) getResponseByDocid(docid int) (resData *StoreTy... method getRequestByDocid (line 126) | func (ser *ProxyServe) getRequestByDocid(docid int) (reqData *StoreTyp... method getHostsFilePath (line 131) | func (ser *ProxyServe) getHostsFilePath() string { method loadHosts (line 135) | func (ser *ProxyServe) loadHosts() { type KvType (line 44) | type KvType function NewProxyServe (line 143) | func NewProxyServe(confPath string, port int) (*ProxyServe, error) { function setupLog (line 201) | func setupLog(dataDir string, port int) { FILE: serve/sessions.go type clientSession (line 8) | type clientSession struct method regirestReq (line 17) | func (ser *ProxyServe) regirestReq(reqCtx *requestCtx) { method cleanExpiredSession (line 54) | func (ser *ProxyServe) cleanExpiredSession() { FILE: serve/util.go function Int64ToBytes (line 23) | func Int64ToBytes(i int64) []byte { function IntToBytes (line 30) | func IntToBytes(i int) []byte { function IsLocalIP (line 37) | func IsLocalIP(host string) bool { function forgetRead (line 59) | func forgetRead(reader *io.ReadCloser) *bytes.Buffer { function dataEncode (line 66) | func dataEncode(data any) []byte { function dataDecode (line 75) | func dataDecode(dataInput []byte, out any) error { function getMapValStr (line 87) | func getMapValStr(m map[string]any, k string) string { function gzipDocode (line 94) | func gzipDocode(buf *bytes.Buffer) string { function gzipEncode (line 108) | func gzipEncode(data []byte) *bytes.Buffer { function parseURLInputAsSlice (line 116) | func parseURLInputAsSlice(input string) []string { function getFormValuesWithPrefix (line 128) | func getFormValuesWithPrefix(values url.Values, prefix string) map[strin... function getTextAreaHeightByString (line 139) | func getTextAreaHeightByString(mystr string, minHeight int) int { function getHostPortFromReq (line 147) | func getHostPortFromReq(req *http.Request) (host string, port int, err e... function parseHostPort (line 164) | func parseHostPort(hostPortstr string) (host string, port int, err error) { function checkURLValuesChange (line 180) | func checkURLValuesChange(first url.Values, second url.Values) (change b... function parseDocID (line 202) | func parseDocID(strid string) (docid int, err error) { function removeHeader (line 210) | func removeHeader(req *http.Request) { function getPostData (line 218) | func getPostData(req *http.Request) (post *url.Values) { function headerEncode (line 237) | func headerEncode(data []byte) []byte { FILE: serve/web.go type webRequestCtx (line 23) | type webRequestCtx struct method checkLogin (line 117) | func (ctx *webRequestCtx) checkLogin() { method handle_index (line 129) | func (ctx *webRequestCtx) handle_index() { method handle_useage (line 133) | func (ctx *webRequestCtx) handle_useage() { method getRewriteJsInfo (line 137) | func (ctx *webRequestCtx) getRewriteJsInfo(name string, title string) ... method handleConfig (line 186) | func (ctx *webRequestCtx) handleConfig() { method handle_response (line 235) | func (ctx *webRequestCtx) handle_response() { method jsAlert (line 282) | func (ctx *webRequestCtx) jsAlert(msg string) { method jsAlertJump (line 286) | func (ctx *webRequestCtx) jsAlertJump(msg string, urlStr string) { method handle_about (line 290) | func (ctx *webRequestCtx) handle_about() { method handle_logout (line 294) | func (ctx *webRequestCtx) handle_logout() { method handle_login (line 300) | func (ctx *webRequestCtx) handle_login() { method render (line 332) | func (ctx *webRequestCtx) render(name string, layout bool) { method showError (line 337) | func (ctx *webRequestCtx) showError(msg string) { method showErrorOrAlert (line 343) | func (ctx *webRequestCtx) showErrorOrAlert(msg string) { method handleLocalReq (line 35) | func (ser *ProxyServe) handleLocalReq(w http.ResponseWriter, req *http.R... method web_checkLogin (line 97) | func (ser *ProxyServe) web_checkLogin(req *http.Request) (user *User, is... function reader_html_include (line 351) | func reader_html_include(fileName string) string { function render_html (line 366) | func render_html(fileName string, values map[string]any, layout bool) st... method handleUserInfo (line 388) | func (ser *ProxyServe) handleUserInfo(w http.ResponseWriter, req *http.R... FILE: serve/web_file.go type webFileInfo (line 16) | type webFileInfo struct method String (line 53) | func (f *webFileInfo) String() string { method link (line 57) | func (f *webFileInfo) link() string { method getContent (line 66) | func (f *webFileInfo) getContent() string { method Close (line 78) | func (f *webFileInfo) Close() { method subFiles (line 87) | func (f *webFileInfo) subFiles() ([]*webFileInfo, error) { function newWebFileInfo (line 27) | func newWebFileInfo(rootDir, name string) (*webFileInfo, error) { method getWebFilePath (line 106) | func (ser *ProxyServe) getWebFilePath(name string) (fullPath string, nam... method handle_file (line 120) | func (ctx *webRequestCtx) handle_file() { method handle_file_edit (line 172) | func (ctx *webRequestCtx) handle_file_edit() { method handle_file_del (line 195) | func (ctx *webRequestCtx) handle_file_del() {} method handle_file_new (line 197) | func (ctx *webRequestCtx) handle_file_new() { method handle_file_save (line 266) | func (ctx *webRequestCtx) handle_file_save() { FILE: serve/wsClient.go type wsClient (line 11) | type wsClient struct method checkFilter (line 28) | func (client *wsClient) checkFilter(req *http.Request, reqCtx *request... FILE: serve/wsServer.go type wsServer (line 14) | type wsServer struct method init (line 39) | func (wsSer *wsServer) init() { method remove (line 61) | func (wsSer *wsServer) remove(id string) { method broadProxyClientNum (line 69) | func (wsSer *wsServer) broadProxyClientNum() { method getResponse (line 76) | func (wsSer *wsServer) getResponse(ns *socketio.NameSpace, docidStr st... method saveFilter (line 102) | func (wsSer *wsServer) saveFilter(ns *socketio.NameSpace, formData str... method send (line 127) | func (wsSer *wsServer) send(ns *socketio.NameSpace, msgName string, da... method broadcastReq (line 149) | func (wsSer *wsServer) broadcastReq(req *http.Request, reqCtx *request... method broadcast (line 171) | func (wsSer *wsServer) broadcast(name string, data any, encode bool) { method wsInit (line 21) | func (ser *ProxyServe) wsInit() { function newWsServer (line 25) | func newWsServer(ser *ProxyServe) *wsServer {