###################################################################### # Copyright (c) Adrien Luxey-Bitri, Boris Baldassari # # This program and the accompanying materials are made # available under the terms of the Eclipse Public License 2.0 # which is available at https://www.eclipse.org/legal/epl-2.0/ # # SPDX-License-Identifier: EPL-2.0 ###################################################################### """ A package for learning network programming in Python. This module (file) manages operations relative to the file system. """ import os.path as path def resolve_location(res:str, root: str): """Returns the path of a resource relative to the root and its extension. Returns ("", "") if the concatenated path does not exist. "index.html" is appended to directory paths. Parameters ---------- res: str The queried resource path. root: str The root directory where to look into for res. Returns ------- str The full disk path of the resource if it exists, or "". str The extension of the resource if it exists, or "". """ pass def resolve_path(res:str, root: str): """Returns the full disk path of a resource relative to the root. Beware that resources in a request start with a leading '/'. If the request points to a directory, then append "index.html" to the path. Returns "" if the concatenated path does not exist. Parameters ---------- res: str The queried resource path. root: str The root directory where to look into for res. Returns ------- str The full disk path of the resource if it exists, or "". """ pass def get_resource(res_path: str): """Returns a resource at res_path, its content type and an HTTP code. The HTTP status code is always 200, as we have already checked the file is present. Parameters ---------- - res_path: str Requested resource string. Returns ------- bytes The resource content if it exists (code == 200). int A HTTP status code. """ pass