Giter Club home page Giter Club logo

Comments (5)

fabricereix avatar fabricereix commented on August 28, 2024

Enclosing the header value between quotes adds quotes to the value itself.

The typical example is the ETag header
ETag: "<etag_value>"

We can indeed clarify that in the doc

The error message is a bit clearer if we receive only one Content-Encoding header.

   |
21 | Content-Encoding: "gzip"
   |                   ^^^^^^ actual value is <gzip>

Back to your example,
you receive two headers with value <gzip>, which is treated as a list of 2 strings .
The error message could be maybe improved to:

    |
 21 | Content-Encoding: "gzip"
    |                   ^^^^^^ actual value is [<gzip>, <gzip>]

from hurl.

legzo avatar legzo commented on August 28, 2024

The fact is that I can't assert that I have the header without quotes but only once can I ?

Because now that I fixed my bug and my service returns the header only once, the check if quote fails (just as in your first snippet), but if my assertion is without quotes, it passes, but it passed also with two headers...

How would you check for only one header with a value without quotes ?

from hurl.

fabricereix avatar fabricereix commented on August 28, 2024

Indeed, an implicit header assert (defined directly after the status code) does not fail with duplicate headers.

In order to test that, you need to use the explicit header assert

[Asserts]
header "Content-Encoding" equals "gzip"

Current, removing an implicit header just remove a check.
If the hurl file passed before, it will pass after.
that's the reason why we choose to ignore the duplicate header issue.
This also works nicely with the Set-Cookie header.

from hurl.

legzo avatar legzo commented on August 28, 2024

Thanks !

from hurl.

fabricereix avatar fabricereix commented on August 28, 2024

doc on headers has been updated

from hurl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.