Skip to content

Commit cb02fb7

Browse files
authored
Update transcoder example (#1887)
1 parent ad67dc8 commit cb02fb7

File tree

4 files changed

+38
-35
lines changed

4 files changed

+38
-35
lines changed

build/get-dotnet.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ensure_dir() {
1818
# main
1919

2020
# resolve SDK version
21-
sdk_version="7.0.100-rc.1.22424.4"
21+
sdk_version="7.0.100-rc.2.22477.23"
2222

2323
# download dotnet-install.sh
2424
ensure_dir $OBJDIR

examples/Transcoder/Proto/greet.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,21 @@ service Greeter {
3535
}
3636
}
3737

38+
// SayHello request message.
3839
message HelloRequest {
3940
// Name to say hello to.
4041
string name = 1;
4142
}
4243

44+
// SayHelloStream request message.
4345
message HelloRequestCount {
4446
// Name to say hello to.
4547
string name = 1;
4648
// Count of messages to send.
4749
int32 count = 2;
4850
}
4951

52+
// SayHello response message.
5053
message HelloReply {
5154
// Hello reply message.
5255
string message = 1;

examples/Transcoder/Server/Server.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
<Protobuf Include="..\Proto\greet.proto" GrpcServices="Server" Link="Protos\greet.proto" />
1111

1212
<PackageReference Include="Grpc.AspNetCore" Version="$(GrpcDotNetPackageVersion)" />
13-
<PackageReference Include="Microsoft.AspNetCore.Grpc.JsonTranscoding" Version="7.0.0-rc.2.22430.1" />
14-
<PackageReference Include="Microsoft.AspNetCore.Grpc.Swagger" Version="0.3.0-rc.2.22430.1" />
13+
<PackageReference Include="Microsoft.AspNetCore.Grpc.JsonTranscoding" Version="7.0.0-rc.2.22476.2" />
14+
<PackageReference Include="Microsoft.AspNetCore.Grpc.Swagger" Version="0.3.0-rc.2.22476.2" />
1515
</ItemGroup>
1616

1717
</Project>

examples/Transcoder/Server/wwwroot/index.html

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -38,60 +38,60 @@ <h1 class="display-4 mb-4 mt-2">gRPC JSON transcoding</h1>
3838
<h5 class="mb-3">Try it now</h5>
3939
<ul class="nav nav-tabs" id="myTab" role="tablist">
4040
<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>
4242
</li>
4343
<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>
4545
</li>
4646
<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>
4848
</li>
4949
<li class="nav-item" role="presentation">
5050
<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>
5151
</li>
5252
</ul>
5353
<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">
5656
<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.
5858
</p>
5959
<div class="row gx-2 align-items-center">
6060
<div class="col-auto">
6161
<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>
6363
</div>
6464
<div class="col-auto">
6565
<button type="submit" class="btn btn-primary mb-2">Send</button>
6666
</div>
6767
</div>
6868
</form>
69-
<div class="alert alert-success" role="alert" id="resultGet"></div>
69+
<div class="alert alert-success" role="alert" id="resultUnary"></div>
7070
</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">
7373
<p>
7474
Send a POST request to the Greeter gRPC service. JSON is sent in the request body.
7575
</p>
7676
<div class="row gx-2 align-items-center">
7777
<div class="col-auto">
7878
<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>
8080
</div>
8181
<div class="col-auto">
8282
<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>
8484
</div>
8585
<div class="col-auto">
8686
<button type="submit" class="btn btn-primary mb-2">Send</button>
8787
</div>
8888
</div>
8989
</form>
90-
<div class="alert alert-success" role="alert" id="resultPost"></div>
90+
<div class="alert alert-success" role="alert" id="resultStream"></div>
9191
</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">
9393
<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.
9595
</p>
9696
<p>
9797
<a href="/swagger" target="_blank">Open Swagger UI</a>
@@ -118,18 +118,18 @@ <h5 class="mb-3">Try it now</h5>
118118
</div>
119119
<script type="text/javascript" src="/lib/bootstrap/dist/bootstrap.bundle.min.js"></script>
120120
<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');
124124

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 = '';
128128

129-
var url = '/v1/greeter/' + encodeURIComponent(nameGetInput.value);
129+
var url = '/v1/greeter/' + encodeURIComponent(nameUnaryInput.value);
130130
fetch(url).then(function (response) {
131131
response.text().then(function (data) {
132-
resultGetText.innerHTML = `<h6>Request</h6>
132+
resultUnaryText.innerHTML = `<h6>Request</h6>
133133
<p><code>GET ${url}</code></p>
134134
<h6>Response</h6>
135135
<p><code>HTTP/1.1 ${response.status} ${getReasonPhrase(response.status)}</code></p>
@@ -144,16 +144,16 @@ <h6>Result</h6>
144144
event.stopPropagation();
145145
}, false);
146146

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');
151151

152-
postForm.addEventListener('submit', function (event) {
153-
resultPostText.innerHTML = '';
152+
streamForm.addEventListener('submit', function (event) {
153+
resultStreamText.innerHTML = '';
154154

155155
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) });
157157
fetch(url, {
158158
method: 'POST',
159159
headers: {
@@ -170,15 +170,15 @@ <h6>Result</h6>
170170
while (!done) {
171171
({ value, done } = await reader.read());
172172
if (done) {
173-
displayData(resultPostText, url, content, response, values, true);
173+
displayData(resultStreamText, url, content, response, values, true);
174174
break;
175175
}
176176
buffer += decoder.decode(value, { stream: true });
177177

178178
var lines = buffer.split(/[\r\n]/);
179179
buffer = lines.pop();
180180
values.push(...lines);
181-
displayData(resultPostText, url, content, response, values, false);
181+
displayData(resultStreamText, url, content, response, values, false);
182182
}
183183
});
184184

0 commit comments

Comments
 (0)