Kouzukii / ffxiv-priceinsight

A FFXIV Plugin to display marketboard prices on item tooltips
MIT License
17 stars 16 forks source link

Data fetch failure #37

Open athystreams opened 2 weeks ago

athystreams commented 2 weeks ago

Hello!

When hovering over different items, I'm finding that I'm waiting up to 10 seconds if not longer at times for it to either fail at providing a price or to give me an error telling me to refresh. I took a look at the log and it showed the following:

System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 64
17:12:22.088 | ERR | [PriceInsight] Failed to retrieve data from Universalis for itemId 3810, scope "Diabolos".
    System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 64
17:12:23.440 | ERR | [PriceInsight] Failed to retrieve data from Universalis for itemIds [5776, 5746, 13258, 2233, 2002], scope "Diabolos".
    System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardDataList(String scope, UInt32 homeWorldId, IList`1 itemId) in /work/repo/UniversalisClient.cs:line 93
17:12:32.812 | ERR | [PriceInsight] Failed to retrieve data from Universalis for itemId 13258, scope "Diabolos".
    System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 64
17:12:35.888 | ERR | [PriceInsight] Failed to retrieve data from Universalis for itemId 8287, scope "Diabolos".
    System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 64
    System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 64
17:13:16.343 | ERR | [PriceInsight] Failed to retrieve data from Universalis for itemId 5680, scope "Diabolos".
    System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout
       at PriceInsight.UniversalisClient.GetMarketBoardData(String scope, UInt32 homeWorldId, UInt64 itemId) in /work/repo/UniversalisClient.cs:line 64

Please note that this behaviour has been ongoing since before the 7.0 update. Please let me know if there's anything I can do to resolve this!

Clawthorn commented 2 weeks ago

Just wanted to let you know that the System.Net.Http.HttpRequestException: Invalid status code GatewayTimeout and more specifically GatewayTimeout indicates that the error was caused by Universalis, not PriceInsight.

Basically the Universalis API is returning an error, usually meaning "I'm overloaded aaaa". It's just that the plugin don't handle that kind of HTTP response code, so it shows up as a error instead of being handled gracefully. :)