
    'i                     H    d dl mZ d dlZddlmZmZ ddlmZ  G d d      Zy)    )OptionalN   )BuilderApiKeyCredsBuilderHeaderPayload)build_hmac_signaturec                   F    e Zd ZdefdZ	 	 d
dededee   dee   def
d	Z	y)BuilderSignercredsc                     || _         y )N)r
   )selfr
   s     N/var/www/br/venv/lib/python3.12/site-packages/py_builder_signing_sdk/signer.py__init__zBuilderSigner.__init__	   s	    
    Nmethodpathbody	timestampreturnc                    t        t        j                               }||}t        | j                  j                  t        |      |||      }t        | j                  j                  | j                  j                  |t        |            S )a"  
        Creates a builder header payload

        Args:
            method: HTTP method
            path: Request path
            body: Optional request body
            timestamp: Optional timestamp (defaults to current time)

        Returns:
            Builder header payload
        )POLY_BUILDER_API_KEYPOLY_BUILDER_PASSPHRASEPOLY_BUILDER_SIGNATUREPOLY_BUILDER_TIMESTAMP)	inttimer   r
   secretstrr   key
passphrase)r   r   r   r   r   tsbuilder_sigs          r   create_builder_header_payloadz+BuilderSigner.create_builder_header_payload   sw    &  B*JJG
 $!%$(JJ$9$9#.#&r7	
 	
r   )NN)
__name__
__module____qualname__r   r   r   r   r   r   r"    r   r   r	   r	      sT    0  ##'$
$
 $
 sm	$

 C=$
 
$
r   r	   )	typingr   r   	sdk_typesr   r   signing.hmacr   r	   r&   r   r   <module>r*      s      ? .(
 (
r   