Skip to main content

ShopifyConfig

Struct ShopifyConfig 

Source
pub struct ShopifyConfig { /* private fields */ }
Expand description

Configuration for the Shopify API SDK.

This struct holds all configuration needed for SDK operations, including API credentials, OAuth scopes, and API version settings.

§Thread Safety

ShopifyConfig is Clone, Send, and Sync, making it safe to share across threads and async tasks.

§Key Rotation

The old_api_secret_key field supports seamless key rotation. When validating OAuth HMAC signatures, the SDK will try the primary key first, then fall back to the old key if configured. This allows in-flight OAuth flows to complete during key rotation.

§Example

use shopify_sdk::{ShopifyConfig, ApiKey, ApiSecretKey};

let config = ShopifyConfig::builder()
    .api_key(ApiKey::new("your-api-key").unwrap())
    .api_secret_key(ApiSecretKey::new("your-secret").unwrap())
    .is_embedded(true)
    .build()
    .unwrap();

assert!(config.is_embedded());

Implementations§

Source§

impl ShopifyConfig

Source

pub fn builder() -> ShopifyConfigBuilder

Creates a new builder for constructing a ShopifyConfig.

§Example
use shopify_sdk::{ShopifyConfig, ApiKey, ApiSecretKey};

let config = ShopifyConfig::builder()
    .api_key(ApiKey::new("key").unwrap())
    .api_secret_key(ApiSecretKey::new("secret").unwrap())
    .build()
    .unwrap();
Source

pub const fn api_key(&self) -> &ApiKey

Returns the API key.

Source

pub const fn api_secret_key(&self) -> &ApiSecretKey

Returns the API secret key.

Source

pub const fn old_api_secret_key(&self) -> Option<&ApiSecretKey>

Returns the old API secret key, if configured.

This is used during key rotation to validate HMAC signatures created with the previous secret key.

Source

pub const fn scopes(&self) -> &AuthScopes

Returns the OAuth scopes.

Source

pub const fn host(&self) -> Option<&HostUrl>

Returns the host URL, if configured.

Source

pub const fn api_version(&self) -> &ApiVersion

Returns the API version.

Source

pub const fn is_embedded(&self) -> bool

Returns whether the app is embedded.

Source

pub fn user_agent_prefix(&self) -> Option<&str>

Returns the user agent prefix, if configured.

Source

pub fn deprecation_callback(&self) -> Option<&DeprecationCallback>

Returns the deprecation callback, if configured.

This callback is invoked when the SDK receives a response indicating that an API endpoint is deprecated.

Trait Implementations§

Source§

impl Clone for ShopifyConfig

Source§

fn clone(&self) -> ShopifyConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ShopifyConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more