Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
jake_rage
New Member

Web.contents auto adding Expect header

I am trying to connect to a graphql API using the follwing:

let
        query = Web.Contents(
            "http:****************",
           [
                Headers=[
                    #"Content-Type"="application/json",
                    #"x-token-id"="1************",
                    #"x-token-value"="W*************"
                ],
                Content = Text.ToBinary(
                     "{""query"": ""query GetEvents { events( filter: { time: { between: [""2024-09-11T00:00:00Z"", ""2024-09-12T00:00:00Z""] } }, first: 1 ) { edges { node { id } } }}""}"
                ),
                Timeout = #duration(0,0,5,0), // Set timeout to 5 minutes
                ManualStatusHandling = {500}  // Handle 500 errors manually
            ]
        ),

        // Handle the response
        StatusCode = Value.Metadata(query)[Response.Status], // Extract status code from metadata
        RawResponse = Text.FromBinary(query),                // Convert raw binary response to text
        ParsedResult = try Json.Document(query) otherwise RawResponse, // Try parsing the result or return raw if it fails

        // Build a structured output for debugging
        Result = if StatusCode = 500 then
                    // Return an error with detailed information
                    Error.Record("ServerError", "500 Internal Server Error", [
                        RawResponse = RawResponse,
                        StatusCode = StatusCode
                    ])
                 else
                    ParsedResult
    in
        // Return the detailed result with status and raw response for debugging
        [StatusCode = StatusCode, RawResponse = RawResponse, Result = Result];

I am getting this error:
statusCode\":500,\"code\":\"FST_REPLY_FROM_INTERNAL_SERVER_ERROR\",\"error\":\"Internal Server Error\",\"message\":\"expect header not supported\"}
Is there anyway to prevent web.Contents from attaching the expect header?

I was able to force the query to work by creating running nginx x server using the follwoing config so I know it is coming from web.contents:
http {
server {
listen 80;

location /graphql {
proxy_set_header Expect "";
proxy_pass https://d*********************;
}
}
}

Thank you for your help
3 REPLIES 3
jake_rage
New Member

Hey yes the Expect header is being set to "100-continue" by web.Contents I dont have the abillity to change the how the api handles headers otherwise I would do that so was hoping there was a way to prevent web.contents from adding it. 

I would call that a bug.

 

If you have a Pro license you can open a Pro ticket at https://admin.powerplatform.microsoft.com/newsupportticket/powerbi
Otherwise you can raise an issue at https://community.fabric.microsoft.com/t5/Issues/idb-p/Issues .

lbendlin
Super User
Super User

Do you see what is specified in the expect header?  application/json ?

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.