grpc-ecosystem/polyglot là dự án hướng lập trình viên trên GitHub với 535 sao, viết chủ yếu bằng Java. A universal grpc command line client
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
By default, Polyglot always tries to use reflection before compiling local protos. Reflection can be turned off explicitly by setting the flag --use_reflection=false.
Configuration (optional)
Some of the features of Polyglot (such as Oauth, see below) require some configuration. Moreover, that sort of configuration tends to remain identical across multiple Polyglot runs. In order to improve usability, Polyglot supports loading a configuration set from a file at runtime. This configuration set can contain multiple named Configuration objects (schema defined here). An example configuration could look like this:
By default, Polyglot tries to find a config file at $HOME/.polyglot/config.pb.json, but this can be overridden with the --config_set_path flag. By default, Polyglot uses the first configuration in the set, but this can be overridden with the --config_name flag.
The general philosophy is for the configuration to drive Polyglot's behavior and for command line flags to allow selectively overriding parts of the configuration. For a full list of what can be configured, please see config.proto.
Using TLS
Polyglot uses statically linked boringssl libraries under the hood and doesn't require the host machine to have any specific libraries. Whether or not the client uses TLS to talk to the server can be controlled using the --use_tls flag or the corresponding configuration entry.
Polyglot can also do client certificate authentication with the --tls_client_cert_path and --tls_client_key_path flags. If the hostname on the server does not match the endpoint (e.g. connecting
to localhost, but the server thinks it's foo.example.com), --tls_client_override_authority=foo.example.com can be used.
Authenticating requests using OAuth
Polyglot has built-in support for authentication of requests using OAuth tokens in two ways:
Loading an access token from disk and attaching it to the request.
Loading a refresh token from disk, exchanging it for an access token, and attaching the access token to the request.
In order to use this feature, Polyglot needs an OauthConfiguration inside its Configuration. For details on how to populate the OauthConfiguration, please see the documentation of the fields in config.proto.
Listing services
Polyglot supports printing a list of all the discovered services using the list_services command. This command can be invoked as follows:
The printed services can be filtered using --service_filter=<service_name> or --method_filter=<method_name>, and the --with_message flag can be used to also print the exact format of the requests.
Custom metadata
It is possible to add custom grpc metadata to calls made using Polyglot by setting the --metadata=key1:value1,key2:value2 flag.
Configuring logs
Polyglot uses the slf4j logging framework with the org.slf4j.impl.SimpleLogger implementation. It also redirects grpc's JUL logs to slf4j. To change the default log level, specify the org.slf4j.simpleLogger.defaultLogLevel JVM argument, e.g., by passing the argument -Dorg.slf4j.simpleLogger.defaultLogLevel=debug.
Build requirements
In order to build Polyglot from source, you will need:
Example invocations can be found in the examples directory. In order to run a simple rpc call, invoke run-server.sh followed by (in a different terminal) call-command-example.sh.
grpc-ecosystem/polyglot thuộc nhóm Developer Tools trên TopGit, cùng 6 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về grpc-ecosystem/polyglot ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/grpc-ecosystem/polyglot là nguồn chính thức.
grpc-ecosystem/polyglot có phải mã nguồn mở không?
Có — grpc-ecosystem/polyglot phát hành theo license BSD-3-Clause, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/grpc-ecosystem/polyglot.
grpc-ecosystem/polyglot có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho grpc-ecosystem/polyglot. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
grpc-ecosystem/polyglot dùng license gì?
grpc-ecosystem/polyglot phát hành theo license BSD-3-Clause. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
grpc-ecosystem/polyglot là gì?
grpc-ecosystem/polyglot (grpc-ecosystem/polyglot) là dự án Java trên GitHub. Theo mô tả gốc: A universal grpc command line client
Vì sao grpc-ecosystem/polyglot được xếp vào nhóm Developer Tools?
TopGit xếp grpc-ecosystem/polyglot vào nhóm Developer Tools dựa trên GitHub topics và mô tả của repo (gắn thẻ: "client", "command-line", "grpc"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc polyglot có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về polyglot.