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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. 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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors