Shopify / Shopify/liquid

Request object attributes don't act like normal strings

Open
#1,681 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
11.9k
Forks
1.5k
Avg merge
17h 55m
Merged PRs (30d)
3

Description

Hi, I've been trying to use request.host or request.origin to put in a conditional if else, but it simply won't go inside. Nor does it work as a normal string if I try to so operations with it like split. So, as an example of what I'm trying to do, let request.host or request.origin = localhost:3000, so:

if request.host contains 'localhost'
  this seems not to be truthy since it won't go inside by any means
endif

or

request.host | split: ':' | first

this will result in "localhost:3000"

simply doesn't work like expected and I can't detect if I'm developing my store on localhost.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the request.host and request.origin examples with localhost:3000, including the contains and split cases. Trace how these request attributes are exposed to Liquid templates; done means the reported string behavior is corrected or its supported behavior is made explicit.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.