Compare commits

...

3 Commits

@ -119,16 +119,14 @@ zi snippet OMZP::tmux
if command -v fzf &>/dev/null; then if command -v fzf &>/dev/null; then
__fzf_cd__ () { change_path_and_find_project() {
local cmd dir cd {{ .projectdir }}
cmd="${FZF_ALT_C_COMMAND:-"command find -L . -mindepth 1 \\( -path '*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' \\) -prune -o -type d -print 2> /dev/null | cut -b3-"}" zle fzf-cd-widget
dir=$(eval "$cmd" | FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} --reverse $FZF_DEFAULT_OPTS $FZF_ALT_C_OPTS" $(__fzfcmd) +m) && printf 'cd %q' "$dir" zle reset-prompt
} }
# quickly find a project zle -N change_path_and_find_project
p(){ bindkey '^P' change_path_and_find_project
cd {{ .projectdir }} && `__fzf_cd__` && [[ -d ".git" ]] && git fetch
}
fi fi

@ -1,62 +1,62 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
Very simple HTTP server in python for logging requests Very simple HTTP server in python for logging requests
Usage:: Usage::
./server.py [<port>] ./server.py [<port>]
""" """
from http.server import BaseHTTPRequestHandler, HTTPServer from http.server import BaseHTTPRequestHandler, HTTPServer
import logging import logging
class S(BaseHTTPRequestHandler): class S(BaseHTTPRequestHandler):
def _set_response(self): def _set_response(self):
self.send_response(200) self.send_response(200)
self.send_header('Content-type', 'text/html') self.send_header('Content-type', 'text/html')
self.end_headers() self.end_headers()
def do_GET(self): def do_GET(self):
logging.info("GET request,\nPath: %s\nHeaders:\n%s\n", str(self.path), str(self.headers)) logging.info("GET request,\nPath: %s\nHeaders:\n%s\n", str(self.path), str(self.headers))
self._set_response() self._set_response()
self.wfile.write("GET request for {}".format(self.path).encode('utf-8')) self.wfile.write("GET request for {}".format(self.path).encode('utf-8'))
def do_POST(self): def do_POST(self):
content_length = int(self.headers['Content-Length']) # <--- Gets the size of data content_length = int(self.headers['Content-Length']) # <--- Gets the size of data
post_data = self.rfile.read(content_length) # <--- Gets the data itself post_data = self.rfile.read(content_length) # <--- Gets the data itself
logging.info("POST request,\nPath: %s\nHeaders:\n%s\n\nBody:\n%s\n", logging.info("POST request,\nPath: %s\nHeaders:\n%s\n\nBody:\n%s\n",
str(self.path), str(self.headers), post_data.decode('utf-8')) str(self.path), str(self.headers), post_data.decode('utf-8'))
self._set_response() self._set_response()
self.wfile.write("POST request for {}".format(self.path).encode('utf-8')) self.wfile.write("POST request for {}".format(self.path).encode('utf-8'))
def do_PUT(self): def do_PUT(self):
content_length = int(self.headers['Content-Length']) # <--- Gets the size of data content_length = int(self.headers['Content-Length']) # <--- Gets the size of data
post_data = self.rfile.read(content_length) # <--- Gets the data itself post_data = self.rfile.read(content_length) # <--- Gets the data itself
logging.info("PUT request,\nPath: %s\nHeaders:\n%s\n\nBody:\n%s\n", logging.info("PUT request,\nPath: %s\nHeaders:\n%s\n\nBody:\n%s\n",
str(self.path), str(self.headers), post_data.decode('utf-8')) str(self.path), str(self.headers), post_data.decode('utf-8'))
self._set_response() self._set_response()
self.wfile.write("PUT request for {}".format(self.path).encode('utf-8')) self.wfile.write("PUT request for {}".format(self.path).encode('utf-8'))
def do_DELETE(self): def do_DELETE(self):
logging.info("DELETE request,\nPath: %s\nHeaders:\n%s\n", str(self.path), str(self.headers)) logging.info("DELETE request,\nPath: %s\nHeaders:\n%s\n", str(self.path), str(self.headers))
self._set_response() self._set_response()
self.wfile.write("DELETE request for {}".format(self.path).encode('utf-8')) self.wfile.write("DELETE request for {}".format(self.path).encode('utf-8'))
def run(server_class=HTTPServer, handler_class=S, port=8080): def run(server_class=HTTPServer, handler_class=S, port=8080):
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
fh = logging.FileHandler('/tmp/pyserver.log') fh = logging.FileHandler('/tmp/pyserver.log')
logging.getLogger().addHandler(fh) logging.getLogger().addHandler(fh)
server_address = ('', port) server_address = ('', port)
httpd = server_class(server_address, handler_class) httpd = server_class(server_address, handler_class)
logging.info('Starting httpd...\n') logging.info('Starting httpd...\n')
try: try:
httpd.serve_forever() httpd.serve_forever()
except KeyboardInterrupt: except KeyboardInterrupt:
pass pass
httpd.server_close() httpd.server_close()
logging.info('Stopping httpd...\n') logging.info('Stopping httpd...\n')
if __name__ == '__main__': if __name__ == '__main__':
from sys import argv from sys import argv
if len(argv) == 2: if len(argv) == 2:
run(port=int(argv[1])) run(port=int(argv[1]))
else: else:
run() run()

Loading…
Cancel
Save