This project is mirrored from https://*****@github.com/metaverse/truss.git. Pull mirroring updated .
  1. 07 Oct, 2020 1 commit
  2. 19 Sep, 2020 1 commit
  3. 17 Sep, 2020 1 commit
  4. 06 Sep, 2020 2 commits
  5. 05 Sep, 2020 1 commit
    • Zaq? Wiedmann's avatar
      feat: support repeated query params and simplified "csv" cases · 39871ea4
      Zaq? Wiedmann authored
      This allows for leveraging repeated fields in the query via foo=bar&foo=bar2, this also simplifies the "csv" case for repeated strings. Before this using `repeated string foo` in the query would require quoted values `foo="bar","bar2"`, which is a little weird as it departs from how we normally pass values in query params, so as special case for strings (and a more efficient one), `foo=bar,bar2` is supported
      39871ea4
  6. 31 Aug, 2020 3 commits
  7. 26 Aug, 2020 3 commits
  8. 24 Aug, 2020 1 commit
  9. 22 Aug, 2020 1 commit
  10. 20 Aug, 2020 1 commit
  11. 18 Aug, 2020 1 commit
    • Zaq? Wiedmann's avatar
      perf: skip walking unnecessary dirs when reading previous generation · 2941cfff
      Zaq? Wiedmann authored
      Noticed an error like this after running truss with a flattened service
      path.
      ```
      truss --svcout . service.proto
      FATA[0000] cannot parse input: cannot read previously generated files: cannot fully walk directory /home/zaq/projects/go-mod/src/github.com/<redacted>: cannot read file: /home/zaq/projects/go-mod/src/github.com/<redacted>/.git/refs/remotes/origin/<redacted>: open /home/zaq/projects/go-mod/src/github.com/<redacted>/.git/refs/remotes/origin/<some_branch>: too many open files
      ```
      NOTE: was using default nofiles limit on linux
      ```
      $ ulimit -Sn
      1024
      ```
      When using `--svcout .`, `cmd`, `svc`, and `handlers` folder will
      be created in the current directory. Which is really nice if you want a
      flatter service structure. However, this has the unintented consequence
      of opening significantly more files when truss is building context on
      it's previous generation. This change cuts down the files read to only
      those in the handlers dir as these are the only files whose previous
      generation is leveraged
      
      Ref: `gengokit/generator/gen.go:generateResponseFile`
      2941cfff
  12. 12 Aug, 2020 1 commit
  13. 11 Aug, 2020 1 commit
  14. 25 Jul, 2020 1 commit
  15. 24 Jul, 2020 1 commit
    • Zaq? Wiedmann's avatar
      fix: parsing errors when using foreign types in rpcs · a4752396
      Zaq? Wiedmann authored
      This doesn't add support for foreign types, but does allow truss
      generation to complete without errors. Why?? This allows for developers
      to add type aliases alongside the pb.go file generated by `protoc` which
      reference the desired types.
      
      ```
        rpc GetAccount(Empty) returns (google.protobuf.Struct) {
          option (google.api.http) = {
            get: "/accounts/me"
          };
        }
      ```
      will still generate a handler that looks like
      ```
      func (s recurlyService) GetAccount(ctx context.Context, in *pb.Empty) (*pb.Struct, error) {
      ```
      Note: pb.Struct as the (technically) incorrect return type.
      
      However, since code generation succeeded, only 1 additional line is
      needed for this to function correctly, and it can be added outside
      generated code space
      
      ```
      type Struct = types.Struct
      ```
      placed in a separate file in the same package as one's pb.go this allows
      the protobuf types to be referenced without a wrapper message. This is
      primary useful for the "WellKnownTypes" (see ref), which have special
      handling in protobuf, particularly in jsonpb and can't be replicated
      simply by copying the message into the service proto. For non-special
      external types, it may make more sense to simply copy the message
      instead of using the technique allowed here
      
      Ref: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf
      a4752396
  16. 17 Jun, 2020 3 commits
  17. 11 Jun, 2020 1 commit
    • Zaq? Wiedmann's avatar
      fix: rpc terminated with ";" · e604a57f
      Zaq? Wiedmann authored
      rpcs that are termniated with a semicolon were causing truss to choke, evidently this is an alternate way to end the statement and historically weve used {} to end an rpc without http options
      e604a57f
  18. 27 Nov, 2019 2 commits
  19. 18 Nov, 2019 1 commit
  20. 17 Nov, 2019 1 commit
    • Zaq? Wiedmann's avatar
      show actual error when jsonpb unmarshaling fails · 7c697717
      Zaq? Wiedmann authored
      This didnt really matter before we started using jsonpb, since failing to part JSON was pretty straightforward to debug. Now that we use jsonpb however more complex type-aware unmarshaling occurs. For example to unmarshal into a google.protobuf.Timestamp you need to use RFC3339Nano, and messing up the format yield an unuseful error message, so useless in fact that its hard to know its actually a value you messed up and it has nothing to do with your json...
      7c697717
  21. 24 Oct, 2019 1 commit
  22. 18 Oct, 2019 6 commits
  23. 17 Oct, 2019 2 commits
  24. 13 Oct, 2019 1 commit
  25. 25 Sep, 2019 2 commits