1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 04:22:22 +00:00

ch4-5-fix typos

This commit is contained in:
sfw 2018-08-07 14:43:36 +08:00
parent 3dd554950c
commit 3e2752d7e3

View File

@ -306,7 +306,7 @@ server := grpc.NewServer(grpc.UnaryInterceptor(filter))
如果截取器函数返回了错误那么该次GRPC方法调用将被视作失败处理。因此我们可以在截取器中对输入的参数做一些简单的验证工作。同样也可以对handler返回的结果做一些验证工作。截取器也非常适合前面对Token认证工作。
下面是截取器增加了对GRPC方法异常捕获:
下面是截取器增加了对GRPC方法异常捕获:
```go
func filter(
@ -349,7 +349,7 @@ myServer := grpc.NewServer(
GRPC构建在HTTP/2协议之上因此我们可以将GRPC服务和普通的Web服务架设在同一个端口之上。因为目前Go语言版本的GRPC实现还不够完善只有启用了TLS协议之后才能将GRPC和Web服务运行在同一个端口。
服务器证书的生成过程前文已经讲过,这不再赘述。启用普通的https服务器非常简单
服务器证书的生成过程前文已经讲过,这不再赘述。启用普通的https服务器非常简单
```go
func main() {
@ -382,9 +382,9 @@ func main() {
}
```
因为GRPC服务已经实现了ServeHTTP方法可以直接作为Web路由处理对象。如果将Grpc和Web服务放在一起会导致GRPC和Web路径的冲突在处理时我们需要区分两类服务。
因为GRPC服务已经实现了ServeHTTP方法可以直接作为Web路由处理对象。如果将GRPC和Web服务放在一起会导致GRPC和Web路径的冲突在处理时我们需要区分两类服务。
我们可以通过以下方式生成同时支持Web和Grpc协议的路由处理函数:
我们可以通过以下方式生成同时支持Web和GRPC协议的路由处理函数:
```go
func main() {
@ -408,7 +408,7 @@ func main() {
}
```
首先GRPC是建立在HTTP/2版本之上如果HTTP不是HTTP/2协议则必然无法提供GRPC支持。同时如果每个GRPC调用请求的Content-Type类型会被标注为"application/grpc"类型。
首先GRPC是建立在HTTP/2版本之上如果HTTP不是HTTP/2协议则必然无法提供GRPC支持。同时每个GRPC调用请求的Content-Type类型会被标注为"application/grpc"类型。
这样我们就可以在GRPC端口上同时提供Web服务了。