\begin{Verbatim}[commandchars=\\\{\}] \PY{k+kn}{package}\PY{+w}{ }\PY{n+nx}{main} \PY{k+kn}{import}\PY{+w}{ }\PY{p}{(}\PY{+w}{ } \PY{+w}{ }\PY{l+s}{\PYZdq{}time\PYZdq{}} \PY{+w}{ }\PY{l+s}{\PYZdq{}fmt\PYZdq{}} \PY{+w}{ }\PY{l+s}{\PYZdq{}html/template\PYZdq{}} \PY{+w}{ }\PY{l+s}{\PYZdq{}net/http\PYZdq{}} \PY{+w}{ }\PY{l+s}{\PYZdq{}database/sql\PYZdq{}} \PY{+w}{ }\PY{n+nx}{\PYZus{}}\PY{l+s}{\PYZdq{}github.com/go\PYZhy{}sql\PYZhy{}driver/mysql\PYZdq{}} \PY{p}{)} \PY{k+kd}{type}\PY{+w}{ }\PY{n+nx}{Page}\PY{+w}{ }\PY{k+kd}{struct}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{Title}\PY{+w}{ }\PY{k+kt}{string} \PY{+w}{ }\PY{n+nx}{Body}\PY{+w}{ }\PY{p}{[}\PY{p}{]}\PY{k+kt}{byte} \PY{+w}{ }\PY{n+nx}{Timestamp}\PY{+w}{ }\PY{n+nx}{time}\PY{p}{.}\PY{n+nx}{Time} \PY{p}{\PYZcb{}} \PY{k+kd}{func}\PY{+w}{ }\PY{p}{(}\PY{n+nx}{p}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{Page}\PY{p}{)}\PY{+w}{ }\PY{n+nx}{save}\PY{p}{(}\PY{p}{)}\PY{+w}{ }\PY{k+kt}{error}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{\PYZus{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{stmtIns}\PY{p}{.}\PY{n+nx}{Exec}\PY{p}{(}\PY{n+nx}{p}\PY{p}{.}\PY{n+nx}{Title}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{p}\PY{p}{.}\PY{n+nx}{Body}\PY{p}{)} \PY{+w}{ }\PY{k}{return}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{c+c1}{// ioutil.WriteFile(filename, p.Body, 0600)} \PY{p}{\PYZcb{}} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{loadPage}\PY{p}{(}\PY{n+nx}{ident}\PY{+w}{ }\PY{k+kt}{string}\PY{p}{)}\PY{+w}{ }\PY{p}{(}\PY{o}{*}\PY{n+nx}{Page}\PY{p}{,}\PY{+w}{ }\PY{k+kt}{error}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{s}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{Page}\PY{p}{\PYZob{}}\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{stmtOut}\PY{p}{.}\PY{n+nx}{QueryRow}\PY{p}{(}\PY{n+nx}{ident}\PY{p}{)}\PY{p}{.}\PY{n+nx}{Scan}\PY{p}{(}\PY{o}{\PYZam{}}\PY{n+nx}{s}\PY{p}{.}\PY{n+nx}{Title}\PY{p}{,}\PY{+w}{ }\PY{o}{\PYZam{}}\PY{n+nx}{s}\PY{p}{.}\PY{n+nx}{Body}\PY{p}{,}\PY{+w}{ }\PY{o}{\PYZam{}}\PY{n+nx}{s}\PY{p}{.}\PY{n+nx}{Timestamp}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{k}{return}\PY{+w}{ }\PY{k+kc}{nil}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{k}{return}\PY{+w}{ }\PY{o}{\PYZam{}}\PY{n+nx}{s}\PY{p}{,}\PY{+w}{ }\PY{k+kc}{nil} \PY{p}{\PYZcb{}} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{viewHandler}\PY{p}{(}\PY{n+nx}{w}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{ResponseWriter}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{r}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Request}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{title}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{r}\PY{p}{.}\PY{n+nx}{URL}\PY{p}{.}\PY{n+nx}{Path}\PY{p}{[}\PY{n+nb}{len}\PY{p}{(}\PY{l+s}{\PYZdq{}/view/\PYZdq{}}\PY{p}{)}\PY{p}{:}\PY{p}{]} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nb}{len}\PY{p}{(}\PY{n+nx}{title}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZlt{}}\PY{+w}{ }\PY{l+m+mi}{1}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Redirect}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{r}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}/\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{StatusFound}\PY{p}{)} \PY{+w}{ }\PY{k}{return} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{n+nx}{p}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{loadPage}\PY{p}{(}\PY{n+nx}{title}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{NotFoundHandler}\PY{p}{(}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}}\PY{+w}{ }\PY{k}{else}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{renderTemplate}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}view\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{p}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{p}{\PYZcb{}} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{editHandler}\PY{p}{(}\PY{n+nx}{w}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{ResponseWriter}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{r}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Request}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{title}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{r}\PY{p}{.}\PY{n+nx}{URL}\PY{p}{.}\PY{n+nx}{Path}\PY{p}{[}\PY{n+nb}{len}\PY{p}{(}\PY{l+s}{\PYZdq{}/edit/\PYZdq{}}\PY{p}{)}\PY{p}{:}\PY{p}{]} \PY{+w}{ }\PY{n+nx}{p}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{loadPage}\PY{p}{(}\PY{n+nx}{title}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{p}\PY{+w}{ }\PY{p}{=}\PY{+w}{ }\PY{o}{\PYZam{}}\PY{n+nx}{Page}\PY{p}{\PYZob{}}\PY{n+nx}{Title}\PY{p}{:}\PY{+w}{ }\PY{n+nx}{title}\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{n+nx}{renderTemplate}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}edit\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{p}\PY{p}{)} \PY{p}{\PYZcb{}} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{saveHandler}\PY{p}{(}\PY{n+nx}{w}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{ResponseWriter}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{r}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Request}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{c+c1}{//title := r.URL.Path[len(\PYZdq{}/save/\PYZdq{}):]} \PY{+w}{ }\PY{c+c1}{//if len(title) \PYZlt{} 1 \PYZob{}} \PY{+w}{ }\PY{c+c1}{// http.Redirect(w, r, \PYZdq{}/\PYZdq{}, http.StatusFound)} \PY{+w}{ }\PY{c+c1}{// return} \PY{+w}{ }\PY{c+c1}{//\PYZcb{}} \PY{+w}{ }\PY{n+nx}{title}\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{r}\PY{p}{.}\PY{n+nx}{FormValue}\PY{p}{(}\PY{l+s}{\PYZdq{}appname\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{body}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{r}\PY{p}{.}\PY{n+nx}{FormValue}\PY{p}{(}\PY{l+s}{\PYZdq{}body\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{p}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{o}{\PYZam{}}\PY{n+nx}{Page}\PY{p}{\PYZob{}}\PY{n+nx}{Title}\PY{p}{:}\PY{+w}{ }\PY{n+nx}{title}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{Body}\PY{p}{:}\PY{+w}{ }\PY{p}{[}\PY{p}{]}\PY{n+nb}{byte}\PY{p}{(}\PY{n+nx}{body}\PY{p}{)}\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{n+nx}{p}\PY{p}{.}\PY{n+nx}{save}\PY{p}{(}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Redirect}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{r}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}/view/\PYZdq{}}\PY{o}{+}\PY{n+nx}{title}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{StatusFound}\PY{p}{)} \PY{p}{\PYZcb{}} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{errorHandler}\PY{p}{(}\PY{n+nx}{w}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{ResponseWriter}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{r}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Request}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{status}\PY{+w}{ }\PY{k+kt}{int}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{w}\PY{p}{.}\PY{n+nx}{WriteHeader}\PY{p}{(}\PY{n+nx}{status}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{status}\PY{+w}{ }\PY{o}{==}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{StatusNotFound}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{fmt}\PY{p}{.}\PY{n+nx}{Fprint}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}file was not found on server\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{p}{\PYZcb{}} \PY{k+kd}{var}\PY{+w}{ }\PY{n+nx}{templates}\PY{+w}{ }\PY{p}{=}\PY{+w}{ }\PY{n+nx}{template}\PY{p}{.}\PY{n+nx}{Must}\PY{p}{(}\PY{n+nx}{template}\PY{p}{.}\PY{n+nx}{ParseFiles}\PY{p}{(}\PY{l+s}{\PYZdq{}edit.html\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}view.html\PYZdq{}}\PY{p}{)}\PY{p}{)} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{renderTemplate}\PY{p}{(}\PY{n+nx}{w}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{ResponseWriter}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{tmpl}\PY{+w}{ }\PY{k+kt}{string}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{p}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{Page}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{templates}\PY{p}{.}\PY{n+nx}{ExecuteTemplate}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{tmpl}\PY{o}{+}\PY{l+s}{\PYZdq{}.html\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{p}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{Error}\PY{p}{(}\PY{n+nx}{w}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{p}{.}\PY{n+nx}{Error}\PY{p}{(}\PY{p}{)}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{StatusInternalServerError}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{p}{\PYZcb{}} \PY{c+c1}{// var db *sql.DB} \PY{k+kd}{var}\PY{+w}{ }\PY{n+nx}{stmtIns}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{stmtOut}\PY{+w}{ }\PY{o}{*}\PY{n+nx}{sql}\PY{p}{.}\PY{n+nx}{Stmt} \PY{k+kd}{func}\PY{+w}{ }\PY{n+nx}{main}\PY{p}{(}\PY{p}{)}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{db}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{sql}\PY{p}{.}\PY{n+nx}{Open}\PY{p}{(}\PY{l+s}{\PYZdq{}mysql\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{l+s}{\PYZdq{}root:feelssemibadman@/golang\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{fmt}\PY{p}{.}\PY{n+nx}{Printf}\PY{p}{(}\PY{l+s}{\PYZdq{}failed to open mysql handle\PYZbs{}n\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{k}{defer}\PY{+w}{ }\PY{n+nx}{db}\PY{p}{.}\PY{n+nx}{Close}\PY{p}{(}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{p}{=}\PY{+w}{ }\PY{n+nx}{db}\PY{p}{.}\PY{n+nx}{Ping}\PY{p}{(}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{fmt}\PY{p}{.}\PY{n+nx}{Printf}\PY{p}{(}\PY{l+s}{\PYZdq{}opened handle but failed to communicate with mysql\PYZbs{}n\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{c+c1}{// Prepare statement for inserting data} \PY{+w}{ }\PY{n+nx}{stmtIns}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{db}\PY{p}{.}\PY{n+nx}{Prepare}\PY{p}{(}\PY{l+s}{\PYZdq{}INSERT Applications SET AppName=?, Description=?\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{fmt}\PY{p}{.}\PY{n+nx}{Printf}\PY{p}{(}\PY{n+nx}{err}\PY{p}{.}\PY{n+nx}{Error}\PY{p}{(}\PY{p}{)}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{k}{defer}\PY{+w}{ }\PY{n+nx}{stmtIns}\PY{p}{.}\PY{n+nx}{Close}\PY{p}{(}\PY{p}{)}\PY{+w}{ }\PY{c+c1}{// Close the statement when we leave main() / the program terminates} \PY{+w}{ } \PY{+w}{ }\PY{c+c1}{// Prepare statement for reading data} \PY{+w}{ }\PY{n+nx}{stmtOut}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{:=}\PY{+w}{ }\PY{n+nx}{db}\PY{p}{.}\PY{n+nx}{Query}\PY{p}{(}\PY{l+s}{\PYZdq{}SELECT AppName, Description, CreatedOn FROM Applications WHERE AppID=?\PYZdq{}}\PY{p}{)} \PY{+w}{ }\PY{k}{if}\PY{+w}{ }\PY{n+nx}{err}\PY{+w}{ }\PY{o}{!=}\PY{+w}{ }\PY{k+kc}{nil}\PY{+w}{ }\PY{p}{\PYZob{}} \PY{+w}{ }\PY{n+nx}{fmt}\PY{p}{.}\PY{n+nx}{Printf}\PY{p}{(}\PY{n+nx}{err}\PY{p}{.}\PY{n+nx}{Error}\PY{p}{(}\PY{p}{)}\PY{p}{)} \PY{+w}{ }\PY{p}{\PYZcb{}} \PY{+w}{ }\PY{k}{defer}\PY{+w}{ }\PY{n+nx}{stmtOut}\PY{p}{.}\PY{n+nx}{Close}\PY{p}{(}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{HandleFunc}\PY{p}{(}\PY{l+s}{\PYZdq{}/view/\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{viewHandler}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{HandleFunc}\PY{p}{(}\PY{l+s}{\PYZdq{}/edit/\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{editHandler}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{HandleFunc}\PY{p}{(}\PY{l+s}{\PYZdq{}/save/\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{n+nx}{saveHandler}\PY{p}{)} \PY{+w}{ }\PY{n+nx}{http}\PY{p}{.}\PY{n+nx}{ListenAndServe}\PY{p}{(}\PY{l+s}{\PYZdq{}:8080\PYZdq{}}\PY{p}{,}\PY{+w}{ }\PY{k+kc}{nil}\PY{p}{)} \PY{p}{\PYZcb{}} \end{Verbatim}