storefront/config/initializers/config.rb in workarea-api-4.4.7 vs storefront/config/initializers/config.rb in workarea-api-4.5.0

- old
+ new

@@ -1,2 +1,21 @@ Workarea.config.api_product_image_jobs_blacklist ||= %i[convert encode rotate optim avatar thumb] Workarea.config.authentication_token_expiration ||= 1.week + +# Ok, this one's a doozy. +# +# To deliver segmentation in the storefront API, we need a way to change a +# {Visit}'s definition of things like sessions, cookies, auth, etc. +# +# Since segments are determined first (before any other middleware), we need a +# way to know whether this is an API request to for logic in {Visit}. +# +# Since this is before any other middleware (including Rails' routing), we don't +# have a way to check the controller class or anything else application-related +# for whether it's an API request or an ordinary request. +# +# The best thing I could come up with is this regex. This lambda provides a hook +# for builds in case it doesn't work. They can provide their own logic here. +# +Workarea.config.is_api_visit = lambda do |request| + request.original_url =~ /:\/\/api\.|\/api\/./ +end