@@ -38,60 +38,60 @@ <h1 class="display-4 mb-4 mt-2">gRPC JSON transcoding</h1>
38
38
< h5 class ="mb-3 "> Try it now</ h5 >
39
39
< ul class ="nav nav-tabs " id ="myTab " role ="tablist ">
40
40
< li class ="nav-item " role ="presentation ">
41
- < button class ="nav-link active " id ="get -tab " data-bs-toggle ="tab " data-bs-target ="#get " type ="button " role ="tab " aria-controls ="home " aria-selected ="true "> GET</ button >
41
+ < button class ="nav-link active " id ="unary -tab " data-bs-toggle ="tab " data-bs-target ="#unary " type ="button " role ="tab " aria-controls ="home " aria-selected ="true "> Basic GET</ button >
42
42
</ li >
43
43
< li class ="nav-item " role ="presentation ">
44
- < button class ="nav-link " id ="post -tab " data-bs-toggle ="tab " data-bs-target ="#post " type ="button " role ="tab " aria-controls ="profile " aria-selected ="false "> POST </ button >
44
+ < button class ="nav-link " id ="stream -tab " data-bs-toggle ="tab " data-bs-target ="#stream " type ="button " role ="tab " aria-controls ="profile " aria-selected ="false "> Streaming </ button >
45
45
</ li >
46
46
< li class ="nav-item " role ="presentation ">
47
- < button class ="nav-link " id ="swagger -tab " data-bs-toggle ="tab " data-bs-target ="#swagger " type ="button " role ="tab " aria-controls ="profile " aria-selected ="false "> Swagger </ button >
47
+ < button class ="nav-link " id ="openapi -tab " data-bs-toggle ="tab " data-bs-target ="#openapi " type ="button " role ="tab " aria-controls ="profile " aria-selected ="false "> OpenAPI </ button >
48
48
</ li >
49
49
< li class ="nav-item " role ="presentation ">
50
50
< button class ="nav-link " id ="source-tab " data-bs-toggle ="tab " data-bs-target ="#source " type ="button " role ="tab " aria-controls ="contact " aria-selected ="false "> View source</ button >
51
51
</ li >
52
52
</ ul >
53
53
< div class ="tab-content " id ="myTabContent ">
54
- < div class ="tab-pane fade show active " id ="get " role ="tabpanel " aria-labelledby ="get -tab ">
55
- < form id ="sendGet ">
54
+ < div class ="tab-pane fade show active " id ="unary " role ="tabpanel " aria-labelledby ="unary -tab ">
55
+ < form id ="sendUnary ">
56
56
< p >
57
- Send a GET request to the Greeter gRPC service. The name is sent as a URL parameter.
57
+ Send a unary request to the Greeter gRPC service. The name is sent as a URL parameter.
58
58
</ p >
59
59
< div class ="row gx-2 align-items-center ">
60
60
< div class ="col-auto ">
61
61
< label class ="visually-hidden " for ="inlineFormInput "> Hello</ label >
62
- < input type ="text " class ="form-control mb-2 " id ="nameGet " placeholder ="Hello " required >
62
+ < input type ="text " class ="form-control mb-2 " id ="nameUnary " placeholder ="Hello " required >
63
63
</ div >
64
64
< div class ="col-auto ">
65
65
< button type ="submit " class ="btn btn-primary mb-2 "> Send</ button >
66
66
</ div >
67
67
</ div >
68
68
</ form >
69
- < div class ="alert alert-success " role ="alert " id ="resultGet "> </ div >
69
+ < div class ="alert alert-success " role ="alert " id ="resultUnary "> </ div >
70
70
</ div >
71
- < div class ="tab-pane fade " id ="post " role ="tabpanel " aria-labelledby ="post -tab ">
72
- < form id ="sendPost ">
71
+ < div class ="tab-pane fade " id ="stream " role ="tabpanel " aria-labelledby ="stream -tab ">
72
+ < form id ="sendStream ">
73
73
< p >
74
74
Send a POST request to the Greeter gRPC service. JSON is sent in the request body.
75
75
</ p >
76
76
< div class ="row gx-2 align-items-center ">
77
77
< div class ="col-auto ">
78
78
< label class ="visually-hidden " for ="inlineFormInput "> Hello</ label >
79
- < input type ="text " class ="form-control mb-2 " id ="namePost " placeholder ="Hello " required >
79
+ < input type ="text " class ="form-control mb-2 " id ="nameStream " placeholder ="Hello " required >
80
80
</ div >
81
81
< div class ="col-auto ">
82
82
< label class ="visually-hidden " for ="inlineFormInput "> Count</ label >
83
- < input type ="number " class ="form-control mb-2 " id ="countPost " placeholder ="Count " required >
83
+ < input type ="number " class ="form-control mb-2 " id ="countStream " placeholder ="Count " required >
84
84
</ div >
85
85
< div class ="col-auto ">
86
86
< button type ="submit " class ="btn btn-primary mb-2 "> Send</ button >
87
87
</ div >
88
88
</ div >
89
89
</ form >
90
- < div class ="alert alert-success " role ="alert " id ="resultPost "> </ div >
90
+ < div class ="alert alert-success " role ="alert " id ="resultStream "> </ div >
91
91
</ div >
92
- < div class ="tab-pane fade " id ="swagger " role ="tabpanel " aria-labelledby ="swagger -tab ">
92
+ < div class ="tab-pane fade " id ="openapi " role ="tabpanel " aria-labelledby ="openapi -tab ">
93
93
< p >
94
- View OpenAPI schema generated by Swagger and send requests with Swagger UI.
94
+ View OpenAPI schema generated by Swashbuckle and send requests with Swagger UI.
95
95
</ p >
96
96
< p >
97
97
< a href ="/swagger " target ="_blank "> Open Swagger UI</ a >
@@ -118,18 +118,18 @@ <h5 class="mb-3">Try it now</h5>
118
118
</ div >
119
119
< script type ="text/javascript " src ="/lib/bootstrap/dist/bootstrap.bundle.min.js "> </ script >
120
120
< script type ="text/javascript ">
121
- var nameGetInput = document . getElementById ( 'nameGet ' ) ;
122
- var getForm = document . getElementById ( 'sendGet ' ) ;
123
- var resultGetText = document . getElementById ( 'resultGet ' ) ;
121
+ var nameUnaryInput = document . getElementById ( 'nameUnary ' ) ;
122
+ var unaryForm = document . getElementById ( 'sendUnary ' ) ;
123
+ var resultUnaryText = document . getElementById ( 'resultUnary ' ) ;
124
124
125
- getForm . addEventListener ( 'submit' , function ( event ) {
126
- if ( getForm . checkValidity ( ) ) {
127
- resultGetText . innerHTML = '' ;
125
+ unaryForm . addEventListener ( 'submit' , function ( event ) {
126
+ if ( unaryForm . checkValidity ( ) ) {
127
+ resultUnaryText . innerHTML = '' ;
128
128
129
- var url = '/v1/greeter/' + encodeURIComponent ( nameGetInput . value ) ;
129
+ var url = '/v1/greeter/' + encodeURIComponent ( nameUnaryInput . value ) ;
130
130
fetch ( url ) . then ( function ( response ) {
131
131
response . text ( ) . then ( function ( data ) {
132
- resultGetText . innerHTML = `<h6>Request</h6>
132
+ resultUnaryText . innerHTML = `<h6>Request</h6>
133
133
<p><code>GET ${ url } </code></p>
134
134
<h6>Response</h6>
135
135
<p><code>HTTP/1.1 ${ response . status } ${ getReasonPhrase ( response . status ) } </code></p>
@@ -144,16 +144,16 @@ <h6>Result</h6>
144
144
event . stopPropagation ( ) ;
145
145
} , false ) ;
146
146
147
- var namePostInput = document . getElementById ( 'namePost ' ) ;
148
- var countPostInput = document . getElementById ( 'countPost ' ) ;
149
- var postForm = document . getElementById ( 'sendPost ' ) ;
150
- var resultPostText = document . getElementById ( 'resultPost ' ) ;
147
+ var nameStreamInput = document . getElementById ( 'nameStream ' ) ;
148
+ var countStreamInput = document . getElementById ( 'countStream ' ) ;
149
+ var streamForm = document . getElementById ( 'sendStream ' ) ;
150
+ var resultStreamText = document . getElementById ( 'resultStream ' ) ;
151
151
152
- postForm . addEventListener ( 'submit' , function ( event ) {
153
- resultPostText . innerHTML = '' ;
152
+ streamForm . addEventListener ( 'submit' , function ( event ) {
153
+ resultStreamText . innerHTML = '' ;
154
154
155
155
var url = '/v1/greeter' ;
156
- var content = JSON . stringify ( { name : namePostInput . value , count : parseInt ( countPostInput . value ) } ) ;
156
+ var content = JSON . stringify ( { name : nameStreamInput . value , count : parseInt ( countStreamInput . value ) } ) ;
157
157
fetch ( url , {
158
158
method : 'POST' ,
159
159
headers : {
@@ -170,15 +170,15 @@ <h6>Result</h6>
170
170
while ( ! done ) {
171
171
( { value, done } = await reader . read ( ) ) ;
172
172
if ( done ) {
173
- displayData ( resultPostText , url , content , response , values , true ) ;
173
+ displayData ( resultStreamText , url , content , response , values , true ) ;
174
174
break ;
175
175
}
176
176
buffer += decoder . decode ( value , { stream : true } ) ;
177
177
178
178
var lines = buffer . split ( / [ \r \n ] / ) ;
179
179
buffer = lines . pop ( ) ;
180
180
values . push ( ...lines ) ;
181
- displayData ( resultPostText , url , content , response , values , false ) ;
181
+ displayData ( resultStreamText , url , content , response , values , false ) ;
182
182
}
183
183
} ) ;
184
184
0 commit comments