2929)
3030from ..pagination import SyncOffsetPagination , AsyncOffsetPagination
3131from .._base_client import AsyncPaginator , make_request_options
32+ from ..types .extension_get_response import ExtensionGetResponse
3233from ..types .extension_list_response import ExtensionListResponse
3334from ..types .extension_upload_response import ExtensionUploadResponse
3435
@@ -224,6 +225,40 @@ def download_from_chrome_store(
224225 cast_to = BinaryAPIResponse ,
225226 )
226227
228+ def get (
229+ self ,
230+ id_or_name : str ,
231+ * ,
232+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
233+ # The extra values given here take precedence over values defined on the client or passed to this method.
234+ extra_headers : Headers | None = None ,
235+ extra_query : Query | None = None ,
236+ extra_body : Body | None = None ,
237+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
238+ ) -> ExtensionGetResponse :
239+ """
240+ Get an extension's metadata (name, size, timestamps) by ID or name, without
241+ downloading the archive.
242+
243+ Args:
244+ extra_headers: Send extra headers
245+
246+ extra_query: Add additional query parameters to the request
247+
248+ extra_body: Add additional JSON properties to the request
249+
250+ timeout: Override the client-level default timeout for this request, in seconds
251+ """
252+ if not id_or_name :
253+ raise ValueError (f"Expected a non-empty value for `id_or_name` but received { id_or_name !r} " )
254+ return self ._get (
255+ path_template ("/extensions/{id_or_name}/metadata" , id_or_name = id_or_name ),
256+ options = make_request_options (
257+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
258+ ),
259+ cast_to = ExtensionGetResponse ,
260+ )
261+
227262 def upload (
228263 self ,
229264 * ,
@@ -466,6 +501,40 @@ async def download_from_chrome_store(
466501 cast_to = AsyncBinaryAPIResponse ,
467502 )
468503
504+ async def get (
505+ self ,
506+ id_or_name : str ,
507+ * ,
508+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
509+ # The extra values given here take precedence over values defined on the client or passed to this method.
510+ extra_headers : Headers | None = None ,
511+ extra_query : Query | None = None ,
512+ extra_body : Body | None = None ,
513+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
514+ ) -> ExtensionGetResponse :
515+ """
516+ Get an extension's metadata (name, size, timestamps) by ID or name, without
517+ downloading the archive.
518+
519+ Args:
520+ extra_headers: Send extra headers
521+
522+ extra_query: Add additional query parameters to the request
523+
524+ extra_body: Add additional JSON properties to the request
525+
526+ timeout: Override the client-level default timeout for this request, in seconds
527+ """
528+ if not id_or_name :
529+ raise ValueError (f"Expected a non-empty value for `id_or_name` but received { id_or_name !r} " )
530+ return await self ._get (
531+ path_template ("/extensions/{id_or_name}/metadata" , id_or_name = id_or_name ),
532+ options = make_request_options (
533+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
534+ ),
535+ cast_to = ExtensionGetResponse ,
536+ )
537+
469538 async def upload (
470539 self ,
471540 * ,
@@ -537,6 +606,9 @@ def __init__(self, extensions: ExtensionsResource) -> None:
537606 extensions .download_from_chrome_store ,
538607 BinaryAPIResponse ,
539608 )
609+ self .get = to_raw_response_wrapper (
610+ extensions .get ,
611+ )
540612 self .upload = to_raw_response_wrapper (
541613 extensions .upload ,
542614 )
@@ -560,6 +632,9 @@ def __init__(self, extensions: AsyncExtensionsResource) -> None:
560632 extensions .download_from_chrome_store ,
561633 AsyncBinaryAPIResponse ,
562634 )
635+ self .get = async_to_raw_response_wrapper (
636+ extensions .get ,
637+ )
563638 self .upload = async_to_raw_response_wrapper (
564639 extensions .upload ,
565640 )
@@ -583,6 +658,9 @@ def __init__(self, extensions: ExtensionsResource) -> None:
583658 extensions .download_from_chrome_store ,
584659 StreamedBinaryAPIResponse ,
585660 )
661+ self .get = to_streamed_response_wrapper (
662+ extensions .get ,
663+ )
586664 self .upload = to_streamed_response_wrapper (
587665 extensions .upload ,
588666 )
@@ -606,6 +684,9 @@ def __init__(self, extensions: AsyncExtensionsResource) -> None:
606684 extensions .download_from_chrome_store ,
607685 AsyncStreamedBinaryAPIResponse ,
608686 )
687+ self .get = async_to_streamed_response_wrapper (
688+ extensions .get ,
689+ )
609690 self .upload = async_to_streamed_response_wrapper (
610691 extensions .upload ,
611692 )
0 commit comments