Module glean.net.base_uploader
A base class for ping uploaders.
Expand source code
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
"""
A base class for ping uploaders.
"""
from typing import Union, Dict, TYPE_CHECKING
from .ping_uploader import PingUploader, UploadResult
if TYPE_CHECKING:
from glean.config import Configuration
class BaseUploader(PingUploader):
"""
The logic for uploading pings. This leaves the actual upload implementation
to the user-provided delegate.
"""
def do_upload(
self,
path: str,
data: bytes,
headers: Dict[str, str],
config: "Configuration",
) -> Union[
UploadResult,
UploadResult.UNRECOVERABLE_FAILURE,
UploadResult.RECOVERABLE_FAILURE,
UploadResult.HTTP_STATUS,
]:
"""
This function triggers the actual upload.
It logs the ping and calls the implementation-specific upload function.
Args:
url (str): The URL path to upload the data to.
data (bytes): The serialized data to send.
headers (dict of (str, str)): Dictionary of header entries.
config (glean.Configuration): The Glean Configuration object.
Returns:
result (UploadResult): the status code of the upload response.
"""
return self.upload(
url=config.server_endpoint + path,
data=data,
headers=headers,
)
__all__ = ["BaseUploader"]
Classes
class BaseUploader (*args, **kwargs)
-
The logic for uploading pings. This leaves the actual upload implementation to the user-provided delegate.
Expand source code
class BaseUploader(PingUploader): """ The logic for uploading pings. This leaves the actual upload implementation to the user-provided delegate. """ def do_upload( self, path: str, data: bytes, headers: Dict[str, str], config: "Configuration", ) -> Union[ UploadResult, UploadResult.UNRECOVERABLE_FAILURE, UploadResult.RECOVERABLE_FAILURE, UploadResult.HTTP_STATUS, ]: """ This function triggers the actual upload. It logs the ping and calls the implementation-specific upload function. Args: url (str): The URL path to upload the data to. data (bytes): The serialized data to send. headers (dict of (str, str)): Dictionary of header entries. config (glean.Configuration): The Glean Configuration object. Returns: result (UploadResult): the status code of the upload response. """ return self.upload( url=config.server_endpoint + path, data=data, headers=headers, )
Ancestors
- PingUploader
- typing.Protocol
- typing.Generic
Subclasses
- HttpClientUploader
- glean.testing._RecordingUploader
Methods
def do_upload(self, path: str, data: bytes, headers: Dict[str, str], config: Configuration) ‑> Union[glean._uniffi.glean.UploadResult, glean._uniffi.glean.UploadResult.UNRECOVERABLE_FAILURE, glean._uniffi.glean.UploadResult.RECOVERABLE_FAILURE, glean._uniffi.glean.UploadResult.HTTP_STATUS]
-
This function triggers the actual upload.
It logs the ping and calls the implementation-specific upload function.
Args
url
:str
- The URL path to upload the data to.
data
:bytes
- The serialized data to send.
- headers (dict of (str, str)): Dictionary of header entries.
config
:Configuration
- The Glean Configuration object.
Returns
result (UploadResult): the status code of the upload response.
Expand source code
def do_upload( self, path: str, data: bytes, headers: Dict[str, str], config: "Configuration", ) -> Union[ UploadResult, UploadResult.UNRECOVERABLE_FAILURE, UploadResult.RECOVERABLE_FAILURE, UploadResult.HTTP_STATUS, ]: """ This function triggers the actual upload. It logs the ping and calls the implementation-specific upload function. Args: url (str): The URL path to upload the data to. data (bytes): The serialized data to send. headers (dict of (str, str)): Dictionary of header entries. config (glean.Configuration): The Glean Configuration object. Returns: result (UploadResult): the status code of the upload response. """ return self.upload( url=config.server_endpoint + path, data=data, headers=headers, )
Inherited members