[NEW PLUGIN] HTTP - Request / Response / Raw API

Introducing:
HTTP - Request/Response/Raw API
(demo app / plugin page)
This plugin lets you make raw HTTP requests and receive their responses as plain text in bubble. Side note: the demo app serves as a nice utility for playing around with HTTP!

Why you want this:

  • You want to dynamically set the ability to form HTTP requests dynamically within a bubble workflow.
  • General testing of HTTP and playing around with server responses in bubble.
  • Know exactly what request you are sending. No obfuscation or bubble application layer on top of your requests and responses.
  • You want more control over how HTTP requests are made and run inside bubble

Features:

  • Use any HTTP Method from a workflow (GET,POST,DELETE, etc…)
  • Set any from a workflow.
  • Any raw/text body content supported

Why you DON’T want this

  • This plugin returns raw text only. You need a way to manage/parse such as JSON Machine that text to make it useful in bubble.
  • The existing bubble API connector meets your needs.
  • The plugin is efficient and no frills. You need knowledge of manually forming HTTP authorization headers for example.
  • Plugin cannot handle file streams or multi-part/form-data responses.
4 Likes

Hi Jon. In not sure to understand the difference between plugin and set the API connector type to Text instead? I didnt face a use case for that. May be you have an example?

1 Like

You make a good point. I’ve updated the post description to better highlight the precise features. Basically, if you want complete control over how a request is initiated from a bubble workflow. You can, for example dynamically set if you want to do perform a GET, POST, DELETE from a bubble workflow. You can set headers dynamically as well and parameterize both key and value and number of headers.

2 Likes

Hi @jon2 I subscribed to this plugin, your demo app clearly works well, but when I tried in my app it doesn’t work, it returned an empty response in the body field. Would it be possible if you share your workflow screenshot used in the demo?

I’ve updated permissions for the editor. You can see the demo page with editor link here:

Thanks for the response @jon2 , I tried the same way as you did in the example, but not sure why I keep getting the Bubble HTTP error: (raw) error response only. Calling the same URI, headers from your demo page all works perfectly tho, not sure why mine is not. Only the response error that has data, it seems like all the other callback combined into it.

Bubble HTTP error: (raw){
“statusCode”: 200,
“body”: “{"status":200,"message":"OK","lastUpdateAt":"2022-03-25 20:01 GMT+0700","session":"valid","data":[{"accountId":"S8vzhyw3owDtYDOB87va==","accountHolder":"John Doe","accountNumber":"987-0675-789","balances":{"available":7500000.0,"current":7500000.0},"currency":null},{"accountId":"S8vzhyw3owDtYDOB87va==","accountHolder":"John Doe","accountNumber":"987-0675-789","balances":{"available":7500000.0,"current":7500000.0},"currency":null}]}”,
“headers”: {
“date”: “Fri, 25 Mar 2022 13:01:55 GMT”,
“content-type”: “application/json”,
“transfer-encoding”: “chunked”,
“connection”: “close”,
“set-cookie”: [
“AWSALB=HsCSvEgGGXRv9ayYJQwsza1IP8AAUNH8/3GkgqPXiI6zUyuZJT1tO+Um27XNOPBYj2p+kQdtBiRdqsX/9q1fQzJPsmY/sETswi6NPhtAuqNawMZ9aM1PCylZk4AI; Expires=Fri, 01 Apr 2022 13:01:55 GMT; Path=/”,
“AWSALBCORS=HsCSvEgGGXRv9ayYJQwsza1IP8AAUNH8/3GkgqPXiI6zUyuZJT1tO+Um27XNOPBYj2p+kQdtBiRdqsX/9q1fQzJPsmY/sETswi6NPhtAuqNawMZ9aM1PCylZk4AI; Expires=Fri, 01 Apr 2022 13:01:55 GMT; Path=/; SameSite=None; Secure”
],
“server”: “nginx/1.20.0”,
“vary”: “Origin, Access-Control-Request-Method, Access-Control-Request-Headers”,
“x-content-type-options”: “nosniff”,
“x-xss-protection”: “1; mode=block”,
“cache-control”: “no-cache, no-store, max-age=0, must-revalidate”,
“pragma”: “no-cache”,
“expires”: “0”,
“strict-transport-security”: “max-age=31536000 ; includeSubDomains”,
“x-frame-options”: “DENY”
},
“request”: {
“uri”: {
“protocol”: “https:”,
“slashes”: true,
“auth”: null,
“host”: “sandbox.onebrick.io”,
“port”: 443,
“hostname”: “sandbox.onebrick.io”,
“hash”: null,
“search”: null,
“query”: null,
“pathname”: “/v1/account/list”,
“path”: “/v1/account/list”,
“href”: “https://sandbox.onebrick.io/v1/account/list”
},
“method”: “GET”,
“headers”: {
“Authorization”: “Bearer access-sandbox-a4931c8f-0954-4e68-8e60-90cf11333dca”
}
}
}