Implement "URL fopen"-like behavior.
amcgregor opened this issue · 0 comments
amcgregor commented
Implement Basic Socket Streams
- Raw TCP communication via
tcp://
pseudo-protocol; port identification required. - Raw UDP communication via
udp://
pseudo-protocol; port identification required.
Protocol Layering
SSL or TLS cryptography through addition of +ssl
or +tls
protocol suffixes.
Specific Protocol Implementations
HTTP
https://docs.python.org/3/library/urllib.request.html
https://docs.python.org/3/library/http.client.html#module-http.client
class HTTPScheme(Scheme):
def open(self, uri:URI, mode:str='r', buffering=-1, encoding=None, errors=None, newline=None) -> HTTPResponse:
...
FTP
Trivial Example
from uri import URI
from PIL import Image
with URI('https://httpbin.org/image/png').open('rb', True) as fh:
image = Image.open(fh)
...