PageSourceSearch

https://docs.voiden.md/assets/js/3aa25c57.be2ba2cb.js

js voiden.md collected 2026-10-04 00:23:50 UTC 5,695 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkvoiden_docs=globalThis.webpackChunkvoiden_docs||[]).push([[9486],{2469:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/grpcs-072eb4207a01a467e82e39bd373f259b.png"},5374:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/grpcs-pre-43faf9b5533542c1b01dd5bb4d40f9be.gif"},6511:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"core-features-section/voiden-blocks/grpc","title":"gRPC","description":"Voiden uses gRPC to enable fast, reliable, and strongly-typed communication between internal services and external clients. By leveraging gRPC, Voiden ensures efficient data exchange, low latency, and clear API contracts that scale well with complex and distributed systems.","source":"@site/docs/core-features-section/voiden-blocks/gRPC.md","sourceDirName":"core-features-section/voiden-blocks","slug":"/core-features-section/voiden-blocks/grpc","permalink":"/docs/core-features-section/voiden-blocks/grpc","draft":false,"unlisted":false,"editUrl":"https://github.com/VoidenHQ/docs/tree/main/docs/core-features-section/voiden-blocks/gRPC.md","tags":[],"version":"current","lastUpdatedAt":1782799941000,"sidebarPosition":7,"frontMatter":{"id":"grpc","title":"gRPC","sidebar_label":"gRPC Block","sidebar_position":7},"sidebar":"tutorialSidebar","previous":{"title":"WebSocket Block","permalink":"/docs/core-features-section/voiden-blocks/web-socket"},"next":{"title":"Basic Authorization Block","permalink":"/docs/core-features-section/voiden-blocks/advanced-authorization/basic-auth-block"}}');var i=s(4848),r=s(8453);const o={id:"grpc",title:"gRPC",sidebar_label:"gRPC Block",sidebar_position:7},c="gRPC Block",l={},a=[{value:"gRPC Requests",id:"grpc-requests",level:2},{value:"Try it Out",id:"try-it-out",level:3},{value:"Summary",id:"summary",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"grpc-block",children:"gRPC Block"})}),"\n",(0,i.jsxs)(n.p,{children:["Voiden uses ",(0,i.jsx)(n.strong,{children:"gRPC"})," to enable fast, reliable, and strongly-typed communication between internal services and external clients. By leveraging gRPC, Voiden ensures efficie
1nt data exchange, low latency, and clear API contracts that scale well with complex and distributed systems."]}),"\n",(0,i.jsx)(n.p,{children:"The gRPC block is designed for performance-critical operations, structured communication, and service-to-service interactions where consistency and speed are essential."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h2,{id:"grpc-requests",children:"gRPC Requests"}),"\n",(0,i.jsx)(n.p,{children:"Voiden provides robust support for gRPC requests, allowing you to test and interact with gRPC services directly from the interface. With Voiden\u2019s gRPC capabilities, you can efficiently work with real-time APIs, including:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Unary gRPC calls"}),"\n",(0,i.jsx)(n.li,{children:"Server-side streaming"}),"\n",(0,i.jsx)(n.li,{children:"Client-side streaming"}),"\n",(0,i.jsx)(n.li,{children:"Bidirectional streaming"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"This support enables seamless testing, validation, and exploration of gRPC-based services within Voiden."}),"\n",(0,i.jsx)(n.h3,{id:"try-it-out",children:"Try it Out"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["In your Voiden file, type ",(0,i.jsx)(n.code,{children:"/grpcs"})," and press ",(0,i.jsx)(n.strong,{children:"Enter"})," to create a ",(0,i.jsx)(n.strong,{children:"gRPC block"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"gRPC block setup",src:s(2469).A+"",width:"2334",height:"1586"})}),"\n",(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Upload or reference a ",(0,i.jsx)(n.code,{children:".proto"})," file to define the service contract between the gRPC client and server."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Run the request using ",(0,i.jsx)(n.strong,{children:"Cmd + Enter"})," (Mac) or ",(0,i.jsx)(n.strong,{children:"Ctrl + Enter"})," (Windows/Linux)\n",(0,i.jsx)(n.strong,{children:"or"})," click the ",(0,i.jsx)(n.strong,{children:"green Play button"})," in the toolbar."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["You will see the ",(0,i.jsx)(n.strong,{children:"Response panel"})," for the ",(0,i.jsx)(n.strong,{children:"gRPC block"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"gRPC response panel",src:s(5374).A+"",width:"2334",height:"1586"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h2,{id:"summary",children:"Summary"}),"\n",(0,i.jsx)(n.p,{children:"Voiden\u2019s gRPC block lets you create, test, and run unary and streaming gRPC requests directly from the interface, using Protocol Buffers and HTTP/2 for fast, strongly typed, and low-latency communication."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>c});var t=s(6540);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.