tailcall
                                
                                
                                
                                    tailcall copied to clipboard
                            
                            
                            
                        feat: make tailcall "GraphQL over HTTP" compliant
Currently, tailcall doesn't support GraphQL over HTTP Spec
Technical Requirements
- All existing tests should pass
 - Add new tests for every compliance violation
 - Ensure there is no performance degradation
 
Additional Information Use https://graphql-http.com to check for spec compliance.
Related Issues
- For the 
/graphqlroute refer to https://github.com/tailcallhq/tailcall/issues/1790 
Use the following configuration for testing.
schema
  @server(
    port: 8000
    graphiql: true
    hostname: "0.0.0.0"
    headers: {cors: {allowOrigins: ["*"], allowHeaders: ["*"], allowMethods: [POST, GET, OPTIONS]}}
  )
  @upstream(baseURL: "http://jsonplaceholder.typicode.com") {
  query: Query
}
type Query {
  posts: [Post] @http(path: "/posts")
}
type Post {
  id: Int!
  userId: Int!
  title: String!
  body: String!
}
                                    
                                    
                                    
                                
/bounty 200$
đ $200 bounty âĸ Tailcall Inc.
Steps to solve:
- Start working: Comment 
/attempt #1766with your implementation plan - Submit work: Create a pull request including 
/claim #1766in the PR body to claim the bounty - Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts
 
đ Thank you for contributing to tailcallhq/tailcall! đ§ Checkout our guidelines before you get started. đĩ More about our bounty program.
| Attempt | Started (GMT+0) | Solution | 
|---|---|---|
| đ´ @syedbarimanjan | Apr 22, 2024, 6:50:15 AM | WIP | 
| đ´ @webbdays | Apr 22, 2024, 1:48:23 PM | WIP | 
| đ´ @ologbonowiwi | Apr 24, 2024, 3:58:41 PM | WIP | 
| đĸ @mogery | May 19, 2024, 9:39:15 AM | WIP | 
| đĸ @ssddOnTop | Jul 20, 2024, 9:07:26 AM | #2480 | 
Currently, tailcall doesn't support GraphQL over HTTP Spec
Did you mean to link this back to this issue? @tusharmath
@syedbarimanjan Fixed it, thanks!
/attempt
| Algora profile | Completed bounties | Tech | Active attempts | Options | 
|---|---|---|---|---|
| @webbdays | 1 tailcallhq bounty | Python, Rust,  JavaScript & more  | 
Cancel attempt | 
I would like to follow this https://graphql.github.io/graphql-over-http/draft/ . And work on one by one compliance requirement.
Hi @tusharmath,
But that specification is still in draft. Any other specification to follow?
I'd love to work on this. Putting myself on the queue đ¤đŊ
Hi @tusharmath,
But that specification is still in draft. Any other specification to follow?
It's going to be in the draft state for a while I think. Supporting it however will become a necessity very soon because most tooling will start depending on it.
I think the best way to start is to pick items based on the severity of the issues.
@webbdays: Reminder that in 1 days the bounty will become up for grabs, so please submit a pull request before then đ
@tusharmath, our playground is currently /graphql; should we change it to /graphiql so that /graphql is used as described in the spec?
@tusharmath, our playground is currently
/graphql; should we change it to/graphiqlso that/graphqlis used as described in the spec?
We can use https://tailcall.run/playground/ instead of the current self hosted one.
The bounty is up for grabs! Everyone is welcome to /attempt #1766 đ
Ok, now no one else is on the queue I'll /attempt.
| Algora profile | Completed bounties | Tech | Active attempts | Options | 
|---|---|---|---|---|
| @ologbonowiwi |    32 tailcallhq bounties  + 19 bounties from 5 projects  | 
Rust, TypeScript,  Shell & more  | 
Cancel attempt | 
i am in. Currently working on the Accept header spec requirement. You can work parallel on other spec requirements.
@ologbonowiwi
Oh, sorry, @webbdays; as for the comment from the Algora bot, I thought you had dropped your attempt.
I plan to start from GET/POST on the /graphql route.
ok. POST is must GET is optional according to spec.
in spec 5.2 and 5.2.1 contradicts, isn't it?
@ologbonowiwi Let me know which section numbers, you are currently plan to work? so that i can skip.
Yeah, sure. For now, my only focus is to change the routing, so at least we can check against the app on https://graphql-http.com/
I think the best way to start is to pick items based on the severity of the issues @tusharmath Can you mention those here as a priority list.
I think the best way to start is to pick items based on the severity of the issues @tusharmath Can you mention those here as a priority list.
Check out the report generated.
@ologbonowiwi: Reminder that in 1 days the bounty will become up for grabs, so please submit a pull request before then đ
The bounty is up for grabs! Everyone is welcome to /attempt #1766 đ
/attempt #1766
| Algora profile | Completed bounties | Tech | Active attempts | Options | 
|---|---|---|---|---|
| @mogery |    6 tailcallhq bounties  + 17 bounties from 6 projects  | 
Rust, TypeScript,  HTML & more  | 
Cancel attempt | 
/attempt #1766
(there are some problems with async-graphql, will fix those first)
| Algora profile | Completed bounties | Tech | Active attempts | Options | 
|---|---|---|---|---|
| @ssddOnTop | 59 tailcallhq bounties | Rust, Java,  C & more  | 
īš2389  | 
Cancel attempt | 
[!NOTE] The user @mogery is already attempting to complete issue #1766 and claim the bounty. We recommend checking in on @mogery's progress, and potentially collaborating, before starting a new solution.
I made this pull request to async_graphql to dictate that the extensions property is optional according to GraphQL over HTTP spec file.
https://github.com/async-graphql/async-graphql/pull/1569
@karatakis I am already working on this at https://github.com/tailcallhq/tailcall/pull/2480
and I think https://github.com/async-graphql/async-graphql/pull/1569 is duplicate of https://github.com/async-graphql/async-graphql/pull/1563