An example service built with Connect.

  • By Buf
  • Last update: Dec 28, 2022
  • Comments: 13

connect-demo

Build Report Card

connect-demo is an example RPC service built with connect-go. Its API is defined by a Protocol Buffer schema, and the service supports the gRPC, gRPC-Web, and Connect protocols.

The service emulates the DOCTOR script written for Joseph Weizenbaum's 1966 ELIZA natural language processing system. It responds to your statements as a stereotypical psychotherapist might; since the original program was a demonstration of the superficiality of human-computer communication, the therapy is not very convincing.

For more on Connect, see the announcement blog post, the documentation on connect.build, or the connect-go repo.

Example

The service is running on https://demo.connect.build. To make an RPC with cURL, using the Connect protocol:

curl --header "Content-Type: application/json" \
    --data '{"sentence": "I feel happy."}' \
    https://demo.connect.build/buf.connect.demo.eliza.v1.ElizaService/Say

To make the same RPC, but using grpcurl and the gRPC protocol:

grpcurl \
    -d '{"sentence": "I feel happy."}' \
    demo.connect.build:443 \
    buf.connect.demo.eliza.v1.ElizaService/Say

Legal

Offered under the Apache 2 license.

Download

connect-demo.zip

Comments(13)

  • 1

    Adds a workflow for buf actions

    This adds integration with buf Github actions lint, breaking, and push.

    Note this needs a Buf API token secret created for this repo. cc @akshayjshah

  • 2

    Bump github.com/stretchr/testify from 1.7.1 to 1.7.2

    Bumps github.com/stretchr/testify from 1.7.1 to 1.7.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 3

    Bump github.com/bufbuild/connect-go from 0.2.0 to 0.4.0

    Bumps github.com/bufbuild/connect-go from 0.2.0 to 0.4.0.

    Release notes

    Sourced from github.com/bufbuild/connect-go's releases.

    v0.4.0

    What's Changed

    Enhancements

    Bugfixes

    New Contributors

    Full Changelog: https://github.com/bufbuild/connect-go/compare/v0.3.0...v0.4.0

    v0.3.0

    What's Changed

    Breaking Changes

    • Send binary data with error details by @​akshayjshah in bufbuild/connect-go#329So that proxies can translate between the Connect and gRPC protocols without a schema, we've changed the Connect protocol to include base64-encoded binary data with error details. Any code sending error details must now create details with connect.NewErrorDetail instead of anypb.New. For code unmarshaling error details, the connect.ErrorDetail type has changed from an interface to a struct with a more-ergonomic Value() method.

    Note that we will not make breaking changes in minor releases after connect-go reaches v1.0. We anticipate a stable release around October of 2022, shortly after Go 1.19 is released.

    Full Changelog: https://github.com/bufbuild/connect-go/compare/v0.2.0...v0.3.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 4

    Bump github.com/bufbuild/connect-go from 0.2.0 to 0.3.0

    Bumps github.com/bufbuild/connect-go from 0.2.0 to 0.3.0.

    Release notes

    Sourced from github.com/bufbuild/connect-go's releases.

    v0.3.0

    What's Changed

    Breaking Changes

    • Send binary data with error details by @​akshayjshah in bufbuild/connect-go#329So that proxies can translate between the Connect and gRPC protocols without a schema, we've changed the Connect protocol to include base64-encoded binary data with error details. Any code sending error details must now create details with connect.NewErrorDetail instead of anypb.New. For code unmarshaling error details, the connect.ErrorDetail type has changed from an interface to a struct with a more-ergonomic Value() method.

    Note that we will not make breaking changes in minor releases after connect-go reaches v1.0. We anticipate a stable release around October of 2022, shortly after Go 1.19 is released.

    Full Changelog: https://github.com/bufbuild/connect-go/compare/v0.2.0...v0.3.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 5

    Bump golang from 1.18-alpine to 1.19.0-alpine

    Bumps golang from 1.18-alpine to 1.19.0-alpine.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 6

    Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0

    Bumps bufbuild/buf-setup-action from 1.9.0 to 1.10.0.

    Release notes

    Sourced from bufbuild/buf-setup-action's releases.

    v1.10.0

    Set the default buf version to v1.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 7

    Bump github.com/bufbuild/connect-go from 1.3.1 to 1.4.0

    Bumps github.com/bufbuild/connect-go from 1.3.1 to 1.4.0.

    Release notes

    Sourced from github.com/bufbuild/connect-go's releases.

    v1.4.0

    What's Changed

    Enhancements

    Migration Notes

    As a consequence of bufbuild/connect-go#416, connect-go servers exposed to web browsers may need to amend their CORS configuration to add Connect-Protocol-Version to Access-Control-Allow-Headers. The pull request description explains the motivation for this additional header.

    Full Changelog: https://github.com/bufbuild/connect-go/compare/v1.3.2...v1.4.0

    v1.3.2

    What's Changed

    Bugfixes

    Full Changelog: https://github.com/bufbuild/connect-go/compare/v1.3.1...v1.3.2

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 8

    Bump golang.org/x/net from 0.2.0 to 0.4.0

    Bumps golang.org/x/net from 0.2.0 to 0.4.0.

    Commits
    • 1e63c2f http2: limit canonical header cache by bytes, not entries
    • 3247b5b go.mod: update golang.org/x dependencies
    • ecf7fda http2: deflake TestTransportMaxFrameReadSize
    • 0833b63 publicsuffix: embed table data
    • ecf091a publicsuffix: update table to latest list from publicsuffix.org
    • 2f8c3d1 http2: add Transport.MaxReadFrameSize configuration setting
    • 0e478a2 http2: add SETTINGS_HEADER_TABLE_SIZE support
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 9

    Bump bufbuild/buf-push-action from 1.0.1 to 1.1.0

    Bumps bufbuild/buf-push-action from 1.0.1 to 1.1.0.

    Release notes

    Sourced from bufbuild/buf-push-action's releases.

    v1.1.0

    • Support pushing to the BSR as a draft commit.
    Commits
    • 958c341 support pushing draft commit to BSR when draft param is true (#21)
    • 012d7bf Update bypass approval github workflow (#25)
    • 99f9fdd Add bypass approval github workflow (#24)
    • 4187757 Add note about buf-push-action and workspaces (#23)
    • 68b92eb Update buf-setup-action examples in README.md (#18)
    • dc49e31 Fix broken link and make input lower case
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 10

    Bump github.com/bufbuild/connect-go from 1.1.0 to 1.2.0

    Bumps github.com/bufbuild/connect-go from 1.1.0 to 1.2.0.

    Release notes

    Sourced from github.com/bufbuild/connect-go's releases.

    v1.2.0

    What's Changed

    Enhancements

    Bugfixes

    New Contributors

    Full Changelog: https://github.com/bufbuild/connect-go/compare/v1.1.0...v1.2.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 11

    Bump golang from 1.19.1-alpine to 1.19.2-alpine

    Bumps golang from 1.19.1-alpine to 1.19.2-alpine.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 12

    Bump golang.org/x/net from 0.2.0 to 0.5.0

    Bumps golang.org/x/net from 0.2.0 to 0.5.0.

    Commits
    • 8e0e7d8 go.mod: update golang.org/x dependencies
    • 7805fdc http2: rewrite inbound flow control tracking
    • 2aa8215 nettest: use RoutedInterface for probing network stack capability
    • ad92d3d websocket: don't recommend Gorilla
    • e1ec361 http2: fix race in TestCanonicalHeaderCacheGrowth
    • 1e63c2f http2: limit canonical header cache by bytes, not entries
    • 3247b5b go.mod: update golang.org/x dependencies
    • ecf7fda http2: deflake TestTransportMaxFrameReadSize
    • 0833b63 publicsuffix: embed table data
    • ecf091a publicsuffix: update table to latest list from publicsuffix.org
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 13

    Bump golang from 1.19.3-alpine to 1.19.4-alpine

    Bumps golang from 1.19.3-alpine to 1.19.4-alpine.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)