forked from indymedia/epicyon
Change GET benchmarks
parent
c0f4f502c5
commit
302bda9aa1
224
daemon.py
224
daemon.py
|
@ -849,13 +849,22 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_header('X-Robots-Tag','noindex')
|
self.send_header('X-Robots-Tag','noindex')
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
|
|
||||||
def _benchmarkGET(self,GETstartTime):
|
def _benchmarkGETtimings(self,GETstartTime,GETtimings: [],getID: int):
|
||||||
|
"""Updates a list containing how long each segment of GET takes
|
||||||
|
"""
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
timeDiff=str(int((time.time()-GETstartTime)*1000))
|
timeDiff=int((time.time()-GETstartTime)*1000)
|
||||||
timeDiffLen=len(timeDiff)
|
logEvent=False
|
||||||
for i in range(6-timeDiffLen):
|
if timeDiff>100:
|
||||||
timeDiff='0'+timeDiff
|
logEvent=True
|
||||||
print('BENCHMARK GET|'+timeDiff+'|'+self.path)
|
if GETtimings:
|
||||||
|
timeDiff=int(timeDiff-int(GETtimings[-1]))
|
||||||
|
GETtimings.append(str(timeDiff))
|
||||||
|
if logEvent:
|
||||||
|
ctr=1
|
||||||
|
for timeDiff in GETtimings:
|
||||||
|
print('GET TIMING|'+str(ctr)+'|'+timeDiff)
|
||||||
|
ctr+=1
|
||||||
|
|
||||||
def _benchmarkPOSTtimings(self,POSTstartTime,POSTtimings: [],postID: int):
|
def _benchmarkPOSTtimings(self,POSTstartTime,POSTtimings: [],postID: int):
|
||||||
"""Updates a list containing how long each segment of POST takes
|
"""Updates a list containing how long each segment of POST takes
|
||||||
|
@ -876,26 +885,30 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
|
|
||||||
def do_GET(self):
|
def do_GET(self):
|
||||||
GETstartTime=time.time()
|
GETstartTime=time.time()
|
||||||
|
GETtimings=[]
|
||||||
|
|
||||||
# Since fediverse crawlers are quite active, make returning info to them high priority
|
# Since fediverse crawlers are quite active, make returning info to them high priority
|
||||||
# get nodeinfo endpoint
|
# get nodeinfo endpoint
|
||||||
if self._nodeinfo():
|
if self._nodeinfo():
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,1)
|
||||||
|
|
||||||
# minimal mastodon api
|
# minimal mastodon api
|
||||||
if self._mastoApi():
|
if self._mastoApi():
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,2)
|
||||||
|
|
||||||
if self.path=='/logout':
|
if self.path=='/logout':
|
||||||
msg=htmlLogin(self.server.translate, \
|
msg=htmlLogin(self.server.translate, \
|
||||||
self.server.baseDir,False).encode('utf-8')
|
self.server.baseDir,False).encode('utf-8')
|
||||||
self._logout_headers('text/html',len(msg))
|
self._logout_headers('text/html',len(msg))
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,3)
|
||||||
|
|
||||||
# replace https://domain/@nick with https://domain/users/nick
|
# replace https://domain/@nick with https://domain/users/nick
|
||||||
if self.path.startswith('/@'):
|
if self.path.startswith('/@'):
|
||||||
self.path=self.path.replace('/@','/users/')
|
self.path=self.path.replace('/@','/users/')
|
||||||
|
@ -916,6 +929,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if self.headers.get('Cookie'):
|
if self.headers.get('Cookie'):
|
||||||
cookie=self.headers['Cookie']
|
cookie=self.headers['Cookie']
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,4)
|
||||||
|
|
||||||
# check authorization
|
# check authorization
|
||||||
authorized = self._isAuthorized()
|
authorized = self._isAuthorized()
|
||||||
if authorized:
|
if authorized:
|
||||||
|
@ -925,11 +940,15 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
print('GET Not authorized')
|
print('GET Not authorized')
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,5)
|
||||||
|
|
||||||
if not self.server.session:
|
if not self.server.session:
|
||||||
print('Starting new session')
|
print('Starting new session')
|
||||||
self.server.session= \
|
self.server.session= \
|
||||||
createSession(self.server.useTor)
|
createSession(self.server.useTor)
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,6)
|
||||||
|
|
||||||
# is this a html request?
|
# is this a html request?
|
||||||
htmlGET=False
|
htmlGET=False
|
||||||
if self.headers.get('Accept'):
|
if self.headers.get('Accept'):
|
||||||
|
@ -937,9 +956,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
htmlGET=True
|
htmlGET=True
|
||||||
else:
|
else:
|
||||||
self._400()
|
self._400()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,7)
|
||||||
|
|
||||||
# treat shared inbox paths consistently
|
# treat shared inbox paths consistently
|
||||||
if self.path=='/sharedInbox' or \
|
if self.path=='/sharedInbox' or \
|
||||||
self.path=='/users/inbox' or \
|
self.path=='/users/inbox' or \
|
||||||
|
@ -952,6 +972,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
|
|
||||||
self.path='/inbox'
|
self.path='/inbox'
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,8)
|
||||||
|
|
||||||
# show the person options screen with view/follow/block/report
|
# show the person options screen with view/follow/block/report
|
||||||
if htmlGET and '/users/' in self.path:
|
if htmlGET and '/users/' in self.path:
|
||||||
if '?options=' in self.path:
|
if '?options=' in self.path:
|
||||||
|
@ -982,12 +1004,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
pageNumber,donateUrl).encode()
|
pageNumber,donateUrl).encode()
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._redirect_headers(originPathStr,cookie)
|
self._redirect_headers(originPathStr,cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,9)
|
||||||
|
|
||||||
# remove a shared item
|
# remove a shared item
|
||||||
if htmlGET and '?rmshare=' in self.path:
|
if htmlGET and '?rmshare=' in self.path:
|
||||||
shareName=self.path.split('?rmshare=')[1]
|
shareName=self.path.split('?rmshare=')[1]
|
||||||
|
@ -1000,36 +1022,39 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
actor,shareName).encode()
|
actor,shareName).encode()
|
||||||
if not msg:
|
if not msg:
|
||||||
self._redirect_headers(actor+'/inbox',cookie)
|
self._redirect_headers(actor+'/inbox',cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,10)
|
||||||
|
|
||||||
if self.path.startswith('/terms'):
|
if self.path.startswith('/terms'):
|
||||||
msg=htmlTermsOfService(self.server.baseDir, \
|
msg=htmlTermsOfService(self.server.baseDir, \
|
||||||
self.server.httpPrefix, \
|
self.server.httpPrefix, \
|
||||||
self.server.domainFull).encode()
|
self.server.domainFull).encode()
|
||||||
self._login_headers('text/html',len(msg))
|
self._login_headers('text/html',len(msg))
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,11)
|
||||||
|
|
||||||
if self.path.startswith('/about'):
|
if self.path.startswith('/about'):
|
||||||
msg=htmlAbout(self.server.baseDir, \
|
msg=htmlAbout(self.server.baseDir, \
|
||||||
self.server.httpPrefix, \
|
self.server.httpPrefix, \
|
||||||
self.server.domainFull).encode()
|
self.server.domainFull).encode()
|
||||||
self._login_headers('text/html',len(msg))
|
self._login_headers('text/html',len(msg))
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,12)
|
||||||
|
|
||||||
# send robots.txt if asked
|
# send robots.txt if asked
|
||||||
if self._robotsTxt():
|
if self._robotsTxt():
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,13)
|
||||||
|
|
||||||
# if not authorized then show the login screen
|
# if not authorized then show the login screen
|
||||||
if htmlGET and self.path!='/login' and self.path!='/':
|
if htmlGET and self.path!='/login' and self.path!='/':
|
||||||
if '/media/' not in self.path and \
|
if '/media/' not in self.path and \
|
||||||
|
@ -1061,9 +1086,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_header('Content-Length', '0')
|
self.send_header('Content-Length', '0')
|
||||||
self.send_header('X-Robots-Tag','noindex')
|
self.send_header('X-Robots-Tag','noindex')
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,14)
|
||||||
|
|
||||||
# get css
|
# get css
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if self.path.endswith('.css'):
|
if self.path.endswith('.css'):
|
||||||
|
@ -1081,12 +1107,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg=css.encode('utf-8')
|
msg=css.encode('utf-8')
|
||||||
self._set_headers('text/css',len(msg),cookie)
|
self._set_headers('text/css',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,15)
|
||||||
|
|
||||||
# image on login screen
|
# image on login screen
|
||||||
if self.path=='/login.png' or \
|
if self.path=='/login.png' or \
|
||||||
self.path=='/login.gif' or \
|
self.path=='/login.gif' or \
|
||||||
|
@ -1110,12 +1136,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if mediaBinary:
|
if mediaBinary:
|
||||||
self._set_headers('image/png',len(mediaBinary),cookie)
|
self._set_headers('image/png',len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,16)
|
||||||
|
|
||||||
# login screen background image
|
# login screen background image
|
||||||
if self.path=='/login-background.png':
|
if self.path=='/login-background.png':
|
||||||
mediaFilename= \
|
mediaFilename= \
|
||||||
|
@ -1135,12 +1161,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if mediaBinary:
|
if mediaBinary:
|
||||||
self._set_headers('image/png',len(mediaBinary),cookie)
|
self._set_headers('image/png',len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,17)
|
||||||
|
|
||||||
# follow screen background image
|
# follow screen background image
|
||||||
if self.path=='/follow-background.png':
|
if self.path=='/follow-background.png':
|
||||||
mediaFilename= \
|
mediaFilename= \
|
||||||
|
@ -1160,12 +1186,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if mediaBinary:
|
if mediaBinary:
|
||||||
self._set_headers('image/png',len(mediaBinary),cookie)
|
self._set_headers('image/png',len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,18)
|
||||||
|
|
||||||
# emoji images
|
# emoji images
|
||||||
if '/emoji/' in self.path:
|
if '/emoji/' in self.path:
|
||||||
if self.path.endswith('.png') or \
|
if self.path.endswith('.png') or \
|
||||||
|
@ -1188,12 +1214,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
mediaBinary = avFile.read()
|
mediaBinary = avFile.read()
|
||||||
self._set_headers('image/'+mediaImageType,len(mediaBinary),cookie)
|
self._set_headers('image/'+mediaImageType,len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,19)
|
||||||
|
|
||||||
# show media
|
# show media
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if '/media/' in self.path:
|
if '/media/' in self.path:
|
||||||
|
@ -1230,12 +1256,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
mediaBinary = avFile.read()
|
mediaBinary = avFile.read()
|
||||||
self._set_headers(mediaFileType,len(mediaBinary),cookie)
|
self._set_headers(mediaFileType,len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,20)
|
||||||
|
|
||||||
# show shared item images
|
# show shared item images
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if '/sharefiles/' in self.path:
|
if '/sharefiles/' in self.path:
|
||||||
|
@ -1260,12 +1286,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
mediaBinary = avFile.read()
|
mediaBinary = avFile.read()
|
||||||
self._set_headers('image/'+mediaFileType,len(mediaBinary),cookie)
|
self._set_headers('image/'+mediaFileType,len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,21)
|
||||||
|
|
||||||
# icon images
|
# icon images
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if self.path.startswith('/icons/'):
|
if self.path.startswith('/icons/'):
|
||||||
|
@ -1279,12 +1305,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
mediaBinary = avFile.read()
|
mediaBinary = avFile.read()
|
||||||
self._set_headers('image/png',len(mediaBinary),cookie)
|
self._set_headers('image/png',len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,22)
|
||||||
|
|
||||||
# cached avatar images
|
# cached avatar images
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if self.path.startswith('/avatars/'):
|
if self.path.startswith('/avatars/'):
|
||||||
|
@ -1303,15 +1329,14 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# default to jpeg
|
# default to jpeg
|
||||||
self._set_headers('image/jpeg',len(mediaBinary),cookie)
|
self._set_headers('image/jpeg',len(mediaBinary),cookie)
|
||||||
#self._404()
|
#self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,23)
|
||||||
|
|
||||||
# show avatar or background image
|
# show avatar or background image
|
||||||
# Note that this comes before the busy flag to avoid conflicts
|
# Note that this comes before the busy flag to avoid conflicts
|
||||||
if '/users/' in self.path:
|
if '/users/' in self.path:
|
||||||
|
@ -1342,9 +1367,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('image/'+mediaImageType, \
|
self._set_headers('image/'+mediaImageType, \
|
||||||
len(mediaBinary),cookie)
|
len(mediaBinary),cookie)
|
||||||
self._write(mediaBinary)
|
self._write(mediaBinary)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,24)
|
||||||
|
|
||||||
# This busy state helps to avoid flooding
|
# This busy state helps to avoid flooding
|
||||||
# Resources which are expected to be called from a web page
|
# Resources which are expected to be called from a web page
|
||||||
# should be above this
|
# should be above this
|
||||||
|
@ -1355,24 +1381,25 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
print('DEBUG: GET Busy')
|
print('DEBUG: GET Busy')
|
||||||
self.send_response(429)
|
self.send_response(429)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self.server.lastGET=currTimeGET
|
self.server.lastGET=currTimeGET
|
||||||
self.server.GETbusy=True
|
self.server.GETbusy=True
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,25)
|
||||||
|
|
||||||
if not self._permittedDir(self.path):
|
if not self._permittedDir(self.path):
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
print('DEBUG: GET Not permitted')
|
print('DEBUG: GET Not permitted')
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
# get webfinger endpoint for a person
|
# get webfinger endpoint for a person
|
||||||
if self._webfinger():
|
if self._webfinger():
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,26)
|
||||||
|
|
||||||
if self.path.startswith('/login') or \
|
if self.path.startswith('/login') or \
|
||||||
(self.path=='/' and not authorized):
|
(self.path=='/' and not authorized):
|
||||||
# request basic auth
|
# request basic auth
|
||||||
|
@ -1381,9 +1408,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._login_headers('text/html',len(msg))
|
self._login_headers('text/html',len(msg))
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,27)
|
||||||
|
|
||||||
# hashtag search
|
# hashtag search
|
||||||
if self.path.startswith('/tags/'):
|
if self.path.startswith('/tags/'):
|
||||||
pageNumber=1
|
pageNumber=1
|
||||||
|
@ -1399,7 +1427,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._login_headers('text/html',len(msg))
|
self._login_headers('text/html',len(msg))
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
hashtagStr= \
|
hashtagStr= \
|
||||||
htmlHashtagSearch(self.server.translate, \
|
htmlHashtagSearch(self.server.translate, \
|
||||||
|
@ -1417,9 +1444,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
originPathStr=self.path.split('/tags/')[0]
|
originPathStr=self.path.split('/tags/')[0]
|
||||||
self._redirect_headers(originPathStr+'/search',cookie)
|
self._redirect_headers(originPathStr+'/search',cookie)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,28)
|
||||||
|
|
||||||
# search for a fediverse address, shared item or emoji
|
# search for a fediverse address, shared item or emoji
|
||||||
# from the web interface by selecting search icon
|
# from the web interface by selecting search icon
|
||||||
if htmlGET and '/users/' in self.path:
|
if htmlGET and '/users/' in self.path:
|
||||||
|
@ -1430,9 +1458,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,29)
|
||||||
|
|
||||||
# Show the calendar for a user
|
# Show the calendar for a user
|
||||||
if htmlGET and '/users/' in self.path:
|
if htmlGET and '/users/' in self.path:
|
||||||
if '/calendar' in self.path:
|
if '/calendar' in self.path:
|
||||||
|
@ -1444,9 +1473,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,30)
|
||||||
|
|
||||||
# search for emoji by name
|
# search for emoji by name
|
||||||
if htmlGET and '/users/' in self.path:
|
if htmlGET and '/users/' in self.path:
|
||||||
if self.path.endswith('/searchemoji'):
|
if self.path.endswith('/searchemoji'):
|
||||||
|
@ -1457,9 +1487,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,31)
|
||||||
|
|
||||||
# announce/repeat from the web interface
|
# announce/repeat from the web interface
|
||||||
if htmlGET and '?repeat=' in self.path:
|
if htmlGET and '?repeat=' in self.path:
|
||||||
pageNumber=1
|
pageNumber=1
|
||||||
|
@ -1484,7 +1515,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+ \
|
self._redirect_headers(actor+'/'+timelineStr+ \
|
||||||
'?page='+str(pageNumber),cookie)
|
'?page='+str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
if not self.server.session:
|
if not self.server.session:
|
||||||
self.server.session= \
|
self.server.session= \
|
||||||
|
@ -1510,9 +1540,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+'?page='+ \
|
self._redirect_headers(actor+'/'+timelineStr+'?page='+ \
|
||||||
str(pageNumber),cookie)
|
str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,32)
|
||||||
|
|
||||||
# undo an announce/repeat from the web interface
|
# undo an announce/repeat from the web interface
|
||||||
if htmlGET and '?unrepeat=' in self.path:
|
if htmlGET and '?unrepeat=' in self.path:
|
||||||
pageNumber=1
|
pageNumber=1
|
||||||
|
@ -1537,7 +1568,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+'?page='+ \
|
self._redirect_headers(actor+'/'+timelineStr+'?page='+ \
|
||||||
str(pageNumber),cookie)
|
str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
if not self.server.session:
|
if not self.server.session:
|
||||||
self.server.session= \
|
self.server.session= \
|
||||||
|
@ -1563,9 +1593,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+'?page='+ \
|
self._redirect_headers(actor+'/'+timelineStr+'?page='+ \
|
||||||
str(pageNumber),cookie)
|
str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,33)
|
||||||
|
|
||||||
# send a follow request approval from the web interface
|
# send a follow request approval from the web interface
|
||||||
if authorized and '/followapprove=' in self.path and \
|
if authorized and '/followapprove=' in self.path and \
|
||||||
self.path.startswith('/users/'):
|
self.path.startswith('/users/'):
|
||||||
|
@ -1593,9 +1624,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.projectVersion)
|
self.server.projectVersion)
|
||||||
self._redirect_headers(originPathStr,cookie)
|
self._redirect_headers(originPathStr,cookie)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,34)
|
||||||
|
|
||||||
# deny a follow request from the web interface
|
# deny a follow request from the web interface
|
||||||
if authorized and '/followdeny=' in self.path and \
|
if authorized and '/followdeny=' in self.path and \
|
||||||
self.path.startswith('/users/'):
|
self.path.startswith('/users/'):
|
||||||
|
@ -1619,9 +1651,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.projectVersion)
|
self.server.projectVersion)
|
||||||
self._redirect_headers(originPathStr,cookie)
|
self._redirect_headers(originPathStr,cookie)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,35)
|
||||||
|
|
||||||
# like from the web interface icon
|
# like from the web interface icon
|
||||||
if htmlGET and '?like=' in self.path:
|
if htmlGET and '?like=' in self.path:
|
||||||
pageNumber=1
|
pageNumber=1
|
||||||
|
@ -1647,7 +1680,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+ \
|
self._redirect_headers(actor+'/'+timelineStr+ \
|
||||||
'?page='+str(pageNumber),cookie)
|
'?page='+str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
if not self.server.session:
|
if not self.server.session:
|
||||||
self.server.session= \
|
self.server.session= \
|
||||||
|
@ -1669,9 +1701,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+ \
|
self._redirect_headers(actor+'/'+timelineStr+ \
|
||||||
'?page='+str(pageNumber),cookie)
|
'?page='+str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,36)
|
||||||
|
|
||||||
# undo a like from the web interface icon
|
# undo a like from the web interface icon
|
||||||
if htmlGET and '?unlike=' in self.path:
|
if htmlGET and '?unlike=' in self.path:
|
||||||
pageNumber=1
|
pageNumber=1
|
||||||
|
@ -1696,7 +1729,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+ \
|
self._redirect_headers(actor+'/'+timelineStr+ \
|
||||||
'?page='+str(pageNumber),cookie)
|
'?page='+str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
if not self.server.session:
|
if not self.server.session:
|
||||||
self.server.session= \
|
self.server.session= \
|
||||||
|
@ -1723,9 +1755,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._redirect_headers(actor+'/'+timelineStr+ \
|
self._redirect_headers(actor+'/'+timelineStr+ \
|
||||||
'?page='+str(pageNumber),cookie)
|
'?page='+str(pageNumber),cookie)
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,37)
|
||||||
|
|
||||||
# delete a post from the web interface icon
|
# delete a post from the web interface icon
|
||||||
if htmlGET and '?delete=' in self.path:
|
if htmlGET and '?delete=' in self.path:
|
||||||
pageNumber=1
|
pageNumber=1
|
||||||
|
@ -1749,14 +1782,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if actor not in deleteUrl:
|
if actor not in deleteUrl:
|
||||||
# You can only delete your own posts
|
# You can only delete your own posts
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
self._redirect_headers(actor+'/inbox',cookie)
|
self._redirect_headers(actor+'/inbox',cookie)
|
||||||
return
|
return
|
||||||
self.postToNickname=getNicknameFromActor(actor)
|
self.postToNickname=getNicknameFromActor(actor)
|
||||||
if not self.postToNickname:
|
if not self.postToNickname:
|
||||||
print('WARN: unable to find nickname in '+actor)
|
print('WARN: unable to find nickname in '+actor)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
self._redirect_headers(actor+'/inbox',cookie)
|
self._redirect_headers(actor+'/inbox',cookie)
|
||||||
return
|
return
|
||||||
if not self.server.session:
|
if not self.server.session:
|
||||||
|
@ -1773,10 +1804,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(deleteStr),cookie)
|
self._set_headers('text/html',len(deleteStr),cookie)
|
||||||
self._write(deleteStr.encode())
|
self._write(deleteStr.encode())
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
self._redirect_headers(actor+'/inbox',cookie)
|
self._redirect_headers(actor+'/inbox',cookie)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1863,7 +1892,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# Various types of new post in the web interface
|
# Various types of new post in the web interface
|
||||||
|
@ -1883,9 +1911,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,38)
|
||||||
|
|
||||||
# get an individual post from the path /@nickname/statusnumber
|
# get an individual post from the path /@nickname/statusnumber
|
||||||
if '/@' in self.path:
|
if '/@' in self.path:
|
||||||
namedStatus=self.path.split('/@')[1]
|
namedStatus=self.path.split('/@')[1]
|
||||||
|
@ -1938,14 +1967,14 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,39)
|
||||||
|
|
||||||
# get replies to a post /users/nickname/statuses/number/replies
|
# get replies to a post /users/nickname/statuses/number/replies
|
||||||
if self.path.endswith('/replies') or '/replies?page=' in self.path:
|
if self.path.endswith('/replies') or '/replies?page=' in self.path:
|
||||||
if '/statuses/' in self.path and '/users/' in self.path:
|
if '/statuses/' in self.path and '/users/' in self.path:
|
||||||
|
@ -2005,7 +2034,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
# replies exist. Itterate through the text file containing message ids
|
# replies exist. Itterate through the text file containing message ids
|
||||||
|
@ -2053,9 +2081,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,40)
|
||||||
|
|
||||||
if self.path.endswith('/roles') and '/users/' in self.path:
|
if self.path.endswith('/roles') and '/users/' in self.path:
|
||||||
namedStatus=self.path.split('/users/')[1]
|
namedStatus=self.path.split('/users/')[1]
|
||||||
if '/' in namedStatus:
|
if '/' in namedStatus:
|
||||||
|
@ -2096,7 +2125,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# show skills on the profile page
|
# show skills on the profile page
|
||||||
|
@ -2140,14 +2168,14 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
actor=self.path.replace('/skills','')
|
actor=self.path.replace('/skills','')
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
self._redirect_headers(actor,cookie)
|
self._redirect_headers(actor,cookie)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,41)
|
||||||
|
|
||||||
# get an individual post from the path /users/nickname/statuses/number
|
# get an individual post from the path /users/nickname/statuses/number
|
||||||
if '/statuses/' in self.path and '/users/' in self.path:
|
if '/statuses/' in self.path and '/users/' in self.path:
|
||||||
namedStatus=self.path.split('/users/')[1]
|
namedStatus=self.path.split('/users/')[1]
|
||||||
|
@ -2169,7 +2197,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(429)
|
self.send_response(429)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
# Only authorized viewers get to see likes on posts
|
# Only authorized viewers get to see likes on posts
|
||||||
|
@ -2199,14 +2226,14 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,42)
|
||||||
|
|
||||||
# get the inbox for a given person
|
# get the inbox for a given person
|
||||||
if self.path.endswith('/inbox') or '/inbox?page=' in self.path:
|
if self.path.endswith('/inbox') or '/inbox?page=' in self.path:
|
||||||
if '/users/' in self.path:
|
if '/users/' in self.path:
|
||||||
|
@ -2262,7 +2289,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('application/json',len(msg),None)
|
self._set_headers('application/json',len(msg),None)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -2276,9 +2302,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(405)
|
self.send_response(405)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,43)
|
||||||
|
|
||||||
# get the direct messages for a given person
|
# get the direct messages for a given person
|
||||||
if self.path.endswith('/dm') or '/dm?page=' in self.path:
|
if self.path.endswith('/dm') or '/dm?page=' in self.path:
|
||||||
if '/users/' in self.path:
|
if '/users/' in self.path:
|
||||||
|
@ -2334,7 +2361,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('application/json',len(msg),None)
|
self._set_headers('application/json',len(msg),None)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -2348,9 +2374,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(405)
|
self.send_response(405)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,44)
|
||||||
|
|
||||||
# get the replies for a given person
|
# get the replies for a given person
|
||||||
if self.path.endswith('/tlreplies') or '/tlreplies?page=' in self.path:
|
if self.path.endswith('/tlreplies') or '/tlreplies?page=' in self.path:
|
||||||
if '/users/' in self.path:
|
if '/users/' in self.path:
|
||||||
|
@ -2409,7 +2436,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('application/json',len(msg),None)
|
self._set_headers('application/json',len(msg),None)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -2423,9 +2449,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(405)
|
self.send_response(405)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,45)
|
||||||
|
|
||||||
# get the media for a given person
|
# get the media for a given person
|
||||||
if self.path.endswith('/tlmedia') or '/tlmedia?page=' in self.path:
|
if self.path.endswith('/tlmedia') or '/tlmedia?page=' in self.path:
|
||||||
if '/users/' in self.path:
|
if '/users/' in self.path:
|
||||||
|
@ -2484,7 +2511,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('application/json',len(msg),None)
|
self._set_headers('application/json',len(msg),None)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -2498,9 +2524,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(405)
|
self.send_response(405)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,46)
|
||||||
|
|
||||||
# get the shared items timeline for a given person
|
# get the shared items timeline for a given person
|
||||||
if self.path.endswith('/tlshares') or '/tlshares?page=' in self.path:
|
if self.path.endswith('/tlshares') or '/tlshares?page=' in self.path:
|
||||||
if '/users/' in self.path:
|
if '/users/' in self.path:
|
||||||
|
@ -2530,7 +2557,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
# not the shares timeline
|
# not the shares timeline
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -2538,9 +2564,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(405)
|
self.send_response(405)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,47)
|
||||||
|
|
||||||
# get outbox feed for a person
|
# get outbox feed for a person
|
||||||
outboxFeed=personBoxJson(self.server.session, \
|
outboxFeed=personBoxJson(self.server.session, \
|
||||||
self.server.baseDir,self.server.domain, \
|
self.server.baseDir,self.server.domain, \
|
||||||
|
@ -2595,9 +2622,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,48)
|
||||||
|
|
||||||
# get the moderation feed for a moderator
|
# get the moderation feed for a moderator
|
||||||
if self.path.endswith('/moderation') or \
|
if self.path.endswith('/moderation') or \
|
||||||
'/moderation?page=' in self.path:
|
'/moderation?page=' in self.path:
|
||||||
|
@ -2657,7 +2685,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('application/json',len(msg),None)
|
self._set_headers('application/json',len(msg),None)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
|
@ -2669,9 +2696,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.send_response(405)
|
self.send_response(405)
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,49)
|
||||||
|
|
||||||
shares=getSharesFeedForPerson(self.server.baseDir, \
|
shares=getSharesFeedForPerson(self.server.baseDir, \
|
||||||
self.server.domain, \
|
self.server.domain, \
|
||||||
self.server.port,self.path, \
|
self.server.port,self.path, \
|
||||||
|
@ -2720,7 +2748,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self._fetchAuthenticated():
|
if self._fetchAuthenticated():
|
||||||
|
@ -2730,9 +2757,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,50)
|
||||||
|
|
||||||
following=getFollowingFeed(self.server.baseDir,self.server.domain, \
|
following=getFollowingFeed(self.server.baseDir,self.server.domain, \
|
||||||
self.server.port,self.path, \
|
self.server.port,self.path, \
|
||||||
self.server.httpPrefix, \
|
self.server.httpPrefix, \
|
||||||
|
@ -2776,7 +2804,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self._fetchAuthenticated():
|
if self._fetchAuthenticated():
|
||||||
|
@ -2786,8 +2813,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,51)
|
||||||
|
|
||||||
followers=getFollowingFeed(self.server.baseDir,self.server.domain, \
|
followers=getFollowingFeed(self.server.baseDir,self.server.domain, \
|
||||||
self.server.port,self.path, \
|
self.server.port,self.path, \
|
||||||
self.server.httpPrefix, \
|
self.server.httpPrefix, \
|
||||||
|
@ -2832,7 +2861,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',len(msg),cookie)
|
self._set_headers('text/html',len(msg),cookie)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if self._fetchAuthenticated():
|
if self._fetchAuthenticated():
|
||||||
|
@ -2842,8 +2870,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,52)
|
||||||
|
|
||||||
# look up a person
|
# look up a person
|
||||||
getPerson = personLookup(self.server.domain,self.path, \
|
getPerson = personLookup(self.server.domain,self.path, \
|
||||||
self.server.baseDir)
|
self.server.baseDir)
|
||||||
|
@ -2875,24 +2905,26 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
else:
|
else:
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,53)
|
||||||
|
|
||||||
# check that a json file was requested
|
# check that a json file was requested
|
||||||
if not self.path.endswith('.json'):
|
if not self.path.endswith('.json'):
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
print('DEBUG: GET Not json: '+self.path+' '+self.server.baseDir)
|
print('DEBUG: GET Not json: '+self.path+' '+self.server.baseDir)
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if not self._fetchAuthenticated():
|
if not self._fetchAuthenticated():
|
||||||
if self.server.debug:
|
if self.server.debug:
|
||||||
print('WARN: Unauthenticated GET')
|
print('WARN: Unauthenticated GET')
|
||||||
self._404()
|
self._404()
|
||||||
self._benchmarkGET(GETstartTime)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,54)
|
||||||
|
|
||||||
# check that the file exists
|
# check that the file exists
|
||||||
filename=self.server.baseDir+self.path
|
filename=self.server.baseDir+self.path
|
||||||
if os.path.isfile(filename):
|
if os.path.isfile(filename):
|
||||||
|
@ -2908,6 +2940,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._404()
|
self._404()
|
||||||
self.server.GETbusy=False
|
self.server.GETbusy=False
|
||||||
|
|
||||||
|
self._benchmarkGETtimings(GETstartTime,GETtimings,55)
|
||||||
|
|
||||||
def do_HEAD(self):
|
def do_HEAD(self):
|
||||||
self._set_headers('application/json',0,None)
|
self._set_headers('application/json',0,None)
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,15 @@ if [ -d /etc/epicyon ]; then
|
||||||
else
|
else
|
||||||
cd /opt/epicyon || exit 0
|
cd /opt/epicyon || exit 0
|
||||||
fi
|
fi
|
||||||
journalctl -u epicyon -r | grep "BENCHMARK GET|0\|BENCHMARK POST|0" | head -n 50 | grep "|ID" | awk -F 'BENCHMARK' '{print $2}' | sort -r | uniq | head -n 20
|
|
||||||
|
|
||||||
echo ''
|
echo ''
|
||||||
echo 'Digest calculation times'
|
echo 'Digest calculation times'
|
||||||
journalctl -u epicyon | grep "DIGEST|" | awk -F '|' '{print $2}' | sort -r | uniq | head -n 20
|
journalctl -u epicyon | grep "DIGEST|" | awk -F '|' '{print $2}' | sort -r | uniq | head -n 20
|
||||||
|
|
||||||
|
echo ''
|
||||||
|
echo 'Timings for GET'
|
||||||
|
journalctl -u epicyon -r | grep "GET TIMING|" | head -n 50
|
||||||
|
|
||||||
echo ''
|
echo ''
|
||||||
echo 'Timings for POST'
|
echo 'Timings for POST'
|
||||||
journalctl -u epicyon -r | grep "POST TIMING|" | head -n 50
|
journalctl -u epicyon -r | grep "POST TIMING|" | head -n 50
|
||||||
|
|
Loading…
Reference in New Issue