aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/Makefile10
-rw-r--r--example/README.md3
-rw-r--r--example/haberdasherclient.nim25
-rw-r--r--example/haberdasherserver.nim47
-rw-r--r--example/nim.cfg1
-rw-r--r--example/service.proto22
6 files changed, 0 insertions, 108 deletions
diff --git a/example/Makefile b/example/Makefile
deleted file mode 100644
index 74f6709..0000000
--- a/example/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-all: haberdasherserver haberdasherclient
-
-haberdasherserver: haberdasherserver.nim service_pb.nim service_twirp.nim
- nim c haberdasherserver.nim
-
-haberdasherclient: haberdasherclient.nim service_pb.nim service_twirp.nim
- nim c haberdasherclient.nim
-
-%_pb.nim %_twirp.nim: %.proto
- ../nimtwirp/nimtwirp_build -I:. --out:. $^
diff --git a/example/README.md b/example/README.md
deleted file mode 100644
index acdee60..0000000
--- a/example/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Nimtwirp usage example
-
-This example is basically stolen from [twirp](https://twitchtv.github.io/twirp/docs/example.html).
diff --git a/example/haberdasherclient.nim b/example/haberdasherclient.nim
deleted file mode 100644
index d402356..0000000
--- a/example/haberdasherclient.nim
+++ /dev/null
@@ -1,25 +0,0 @@
-import os
-import strformat
-import strutils
-
-import service_pb
-import service_twirp
-
-if paramCount() != 1:
- echo("usage: " & getAppFilename() & " <size>")
- quit(QuitFailure)
-
-var size = newtwirp_example_haberdasher_Size()
-try:
- size.inches = parseInt(paramStr(1)).int32
-except:
- echo("invalid size")
- quit(QuitFailure)
-
-let client = newHaberdasherClient("http://localhost:8080")
-
-try:
- let hat = MakeHat(client, size)
- echo(&"I have a nice new hat: {hat.inches} inch {hat.color} {hat.name}")
-except Exception as exc:
- echo(&"oh no: {exc.msg}")
diff --git a/example/haberdasherserver.nim b/example/haberdasherserver.nim
deleted file mode 100644
index cdb25cb..0000000
--- a/example/haberdasherserver.nim
+++ /dev/null
@@ -1,47 +0,0 @@
-import asynchttpserver
-import asyncdispatch
-import random
-
-import nimtwirp/nimtwirp
-import nimtwirp/errors
-
-import service_pb
-import service_twirp
-
-proc MakeHatImpl(service: Haberdasher, size: twirp_example_haberdasher_Size): Future[twirp_example_haberdasher_Hat] {.async.} =
- if size.inches <= 0:
- raise newTwirpError(TwirpInvalidArgument, "I can't make a hat that small!")
-
- result = newtwirp_example_haberdasher_Hat()
- result.inches = size.inches
- result.color = rand(["white", "black", "brown", "red", "blue"])
- result.name = rand(["bowler", "baseball cap", "top hat", "derby"])
-
-# You can do serving this way if you want to customize the process a bit
-
-var
- server = newAsyncHttpServer()
- service {.threadvar.}: Haberdasher
-
-service = newHaberdasher()
-service.MakeHatImpl = MakeHatImpl
-
-proc handler(req: Request) {.async.} =
- # Each service will have a generated handleRequest() proc which takes the
- # service object and a asynchttpserver.Request object and returns a
- # Future[nimtwirp.Response].
- var fut = handleRequest(service, req)
- yield fut
- if fut.failed:
- await respond(req, nimtwirp.newResponse(fut.readError()))
- else:
- await respond(req, fut.read())
-
-waitFor server.serve(Port(8080), handler)
-
-# Or this way (idea copied from Jester) if your needs are simple.
-#
-#var settings = newSettings(8080)
-#twirpServices(settings):
-# service
-#runForever()
diff --git a/example/nim.cfg b/example/nim.cfg
deleted file mode 100644
index 8ea4922..0000000
--- a/example/nim.cfg
+++ /dev/null
@@ -1 +0,0 @@
---path=".."
diff --git a/example/service.proto b/example/service.proto
deleted file mode 100644
index 1945a72..0000000
--- a/example/service.proto
+++ /dev/null
@@ -1,22 +0,0 @@
-syntax = "proto3";
-
-package twirp.example.haberdasher;
-option go_package = "haberdasher";
-
-// Haberdasher service makes hats for clients.
-service Haberdasher {
- // MakeHat produces a hat of mysterious, randomly-selected color!
- rpc MakeHat(Size) returns (Hat);
-}
-
-// Size of a Hat, in inches.
-message Size {
- int32 inches = 1; // must be > 0
-}
-
-// A Hat is a piece of headwear made by a Haberdasher.
-message Hat {
- int32 inches = 1;
- string color = 2; // anything but "invisible"
- string name = 3; // i.e. "bowler"
-}