HTTP Piece
A base Piece for implementing HTTP request communication using the puzzlepiece framework.
Defines an address param, self.rq is a reference to the
requests
library, and self.check_response raises an exception if the response code
is not 200.
Example implementation:
import puzzlepiece as pzp
from pzp_hardware.generic.hw_bases import http
class Piece(http.Base):
default_address = "https://pzp-hardware.readthedocs.io" # change the default address
def define_params(self):
super().define_params()
address = self["address"]
@pzp.param.readout(self, 'online')
def online():
if self.puzzle.debug:
return True
r = self.rq.get(f"{address.value}/en/latest/getting_started.html")
self.check_response(r)
return r.text
For a full Piece implemented using this base, see pzp_hardware.lightcon.pharos.Piece.
Requirements
This Piece has additional requirements. You will be asked to install them at runtime, or you may choose to install them ahead of time.
requests –
pip install requests– Instructions
- class pzp_hardware.generic.hw_bases.http.Base(puzzle=None, custom_horizontal=None, param_defaults=None, *args, **kwargs)[source]
Bases:
Piece
Base Piece implementing HTTP request communication.
- default_address = 'http://127.0.0.1:80'
Default value for the address param (set in your child class)
- rq = None
A reference to the requests library (available only when not in debug mode)