def active(req, resp): if req.method == "GET": #rsp_val = str(sw_pin.value() == 1).lower() rsp_val = 'true' yield from start_response(resp, "application/json") yield from resp.awrite('{"active": %s}' % rsp_val) elif req.method == "PUT": activate_switch() yield from start_response(resp, status="200") else: yield from start_response(resp, status="405")
def headers_leave(req, resp): yield from picoweb.start_response(resp) assert not hasattr(req, "headers") yield from resp.awrite("Reading headers directly from input request:") yield from resp.awrite("<pre>") while True: l = yield from req.reader.readline() if l == b"\r\n": break yield from resp.awrite(l) yield from resp.awrite("</pre>")
def homepage(request, response): if request.method == 'POST': print(request.headers) yield from request.read_form_data() if request.form.get('content'): note_id = Note.create(content=request.form['content'][0]) note = list(Note.get_id(note_id))[0] print("note after create:", note) tmpl = app._load_template('note.html') yield from picoweb.start_response(response, "application/json") yield from response.awriteiter(ijson.idumps({'note': tmpl(note), 'success': 1})) return yield from picoweb.jsonify(response, {'success': 0}) return yield from picoweb.start_response(response) # notes = Note.public().paginate(get_page(), 50) notes = Note.public() yield from app.render_template(response, 'homepage.html', (notes,))
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("POST form:<br>") yield from resp.awrite("<form action='form_url' method='POST'>" "What is your name? <input name='name' /> " "<input type='submit'></form>") yield from resp.awrite("GET form:<br>") # GET is the default yield from resp.awrite("<form action='form_url'>" "What is your name? <input name='name' /> " "<input type='submit'></form>")
def index(req, resp): if req.method == "POST": yield from req.read_form_data() else: # GET, apparently # Note: parse_qs() is not a coroutine, but a normal function. # But you can call it using yield from too. req.parse_qs() # Whether form data comes from GET or POST request, once parsed, # it's available as req.form dictionary yield from picoweb.start_response(resp) yield from resp.awrite("Hello %s!" % req.form["name"])
def index(req, resp): if b"Authorization" not in req.headers: yield from resp.awrite( 'HTTP/1.0 401 NA\r\n' 'WWW-Authenticate: Basic realm="Picoweb Realm"\r\n' '\r\n' ) return auth = req.headers[b"Authorization"].split(None, 1)[1] auth = ubinascii.a2b_base64(auth).decode() username, passwd = auth.split(":", 1) yield from picoweb.start_response(resp) yield from resp.awrite("You logged in with username: %s, password: %s" % (username, passwd))
def index(req, resp): headers = {"X-MyHeader1": "foo", "X-MyHeader2": "bar"} # Passing headers as a positional param is more efficient, # but we pass by keyword here ;-) yield from picoweb.start_response(resp, headers=headers) yield from resp.awrite(b"""\ <!DOCTYPE html> <html> <head> <link href="style.css" rel="stylesheet"> </head> <body> <p>The style.css should be cached and might be encoded.</p> <p class="green">Check out your webdev tool!</p> </body> </html>""")
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("""\ <!DOCTYPE html> <html> <head> <script> var source = new EventSource("events"); source.onmessage = function(event) { document.getElementById("result").innerHTML += event.data + "<br>"; } source.onerror = function(error) { console.log(error); document.getElementById("result").innerHTML += "EventSource error:" + error + "<br>"; } </script> </head> <body> <div id="result"></div> </body> </html> """)
def squares(req, resp): # Or can use a convenience function start_response() (see its source for # extra params it takes). yield from picoweb.start_response(resp) yield from app.render_template(resp, "squares.tpl", (req, ))
def squares(req, resp): # Or can use a convenience function start_response() (see its source for # extra params it takes). yield from picoweb.start_response(resp) yield from app.render_template(resp, "squares.tpl", (req,))
def headers_parse(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("<table border='1'>") for h, v in req.headers.items(): yield from resp.awrite("<tr><td>%s</td><td>%s</td></tr>\r\n" % (h, v)) yield from resp.awrite("</table>")
def headers_skip(req, resp): yield from picoweb.start_response(resp) assert not hasattr(req, "headers") yield from resp.awrite("No <tt>req.headers</tt>.")
def turn_off(req, resp): pin.value(0) yield from picoweb.start_response(resp, content_type='application/json') yield from resp.awrite('{"light":"Off"}')
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("This is webapp #1")
def index(req, resp): blink_led() yield from picoweb.start_response(resp) yield from resp.awrite(';-)')
def error(res, msg='bad request'): yield from picoweb.start_response(res, status='400') yield from res.awrite("{}\r\n".format(msg))
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite(str(d.temperature()))
def squares(req, resp): yield from picoweb.start_response(resp) yield from app.render_template(resp, "squares.tpl", (req,))
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite(html)
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite( "I can show you a table of <a href='squares'>squares</a>.")
def hello(req, resp): yield from picoweb.start_response(resp) # Here's how you extract matched groups from a regex URI match yield from resp.awrite("Hello " + req.url_match.group(1))
def index(req, resp): yield from picoweb.start_response(resp) yield from app.render_template(resp, "index.tpl", (req, voltage()))
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite(b"Static image: <img src='static/logo.png'><br />") yield from resp.awrite(b"Dynamic image: <img src='dyna-logo.png'><br />")
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("Hello world from picoweb running on the ESP32")
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("Servidor de Prueba")
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("I can show you a table of <a href='squares'>squares</a>.")
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("<a href='app1'>app1<a> or <a href='app2'>app2</a>")
def index(req, resp): yield from picoweb.start_response(resp) yield from resp.awrite("You logged in with username: %s, password: %s" % (req.username, req.passwd))
def squares(req, resp): yield from picoweb.start_response(resp) yield from app.render_template(resp, "squares.tpl", (req, ))