// Generated by Obelisk 0.40.0
package testing:http-obelisk-ext;

interface http-get {
  use testing:http/http-get.{response, response-str};
  use obelisk:types/execution@5.0.0.{execution-id};
  use obelisk:types/join-set@5.0.0.{join-set};
  use obelisk:types/execution@5.0.0.{await-next-extension-error, get-extension-error};

  get-submit: func(join-set: borrow<join-set>, url: string) -> execution-id;

  get-await-next: func(join-set: borrow<join-set>) -> result<result<string, string>, await-next-extension-error>;

  get-get: func(execution-id: execution-id) -> result<result<string, string>, get-extension-error>;

  get-resp-submit: func(join-set: borrow<join-set>, url: string) -> execution-id;

  get-resp-await-next: func(join-set: borrow<join-set>) -> result<result<response, string>, await-next-extension-error>;

  get-resp-get: func(execution-id: execution-id) -> result<result<response, string>, get-extension-error>;

  get-successful-submit: func(join-set: borrow<join-set>, url: string) -> execution-id;

  get-successful-await-next: func(join-set: borrow<join-set>) -> result<result<string, string>, await-next-extension-error>;

  get-successful-get: func(execution-id: execution-id) -> result<result<string, string>, get-extension-error>;

  secret-get-submit: func(join-set: borrow<join-set>, url: string, env-var: string, header: option<tuple<string, string>>) -> execution-id;

  secret-get-await-next: func(join-set: borrow<join-set>) -> result<result<response-str, string>, await-next-extension-error>;

  secret-get-get: func(execution-id: execution-id) -> result<result<response-str, string>, get-extension-error>;
}

interface http-post {
  use testing:http/http-get.{response-str};
  use obelisk:types/execution@5.0.0.{execution-id};
  use obelisk:types/join-set@5.0.0.{join-set};
  use obelisk:types/execution@5.0.0.{await-next-extension-error, get-extension-error};

  secret-post-submit: func(join-set: borrow<join-set>, url: string, env-var: string, headers: list<tuple<string, string>>, body: string) -> execution-id;

  secret-post-await-next: func(join-set: borrow<join-set>) -> result<result<response-str, string>, await-next-extension-error>;

  secret-post-get: func(execution-id: execution-id) -> result<result<response-str, string>, get-extension-error>;
}

