     (GrpcClient. host port log-function)))
 
 (defn- basic-grpc-service-parameters
-  []
+  [& {:keys [prefix] :or {prefix "x-waiter-"}}]
   (let [courier-command (courier-server-command "${PORT0} ${PORT1}")]
-    (walk/stringify-keys
-      {:x-waiter-backend-proto "h2c"
-       :x-waiter-cmd courier-command
-       :x-waiter-cmd-type "shell"
-       :x-waiter-concurrency-level 32
-       :x-waiter-cpus 0.2
-       :x-waiter-debug true
-       :x-waiter-grace-period-secs 120
-       :x-waiter-health-check-port-index 1
-       :x-waiter-health-check-proto "http"
-       :x-waiter-idle-timeout-mins 10
-       :x-waiter-max-instances 1
-       :x-waiter-min-instances 1
-       :x-waiter-mem 512
-       :x-waiter-name (rand-name)
-       :x-waiter-ports 2
-       :x-waiter-version "version-does-not-matter"})))
+    (pc/map-keys
+      #(str prefix %)
+      {"backend-proto" "h2c"
+       "cmd" courier-command
+       "cmd-type" "shell"
+       "concurrency-level" 32
+       "cpus" 0.2
+       "debug" true
+       "grace-period-secs" 120
+       "health-check-port-index" 1
+       "health-check-proto" "http"
+       "idle-timeout-mins" 10
+       "max-instances" 1
+       "min-instances" 1
+       "mem" 512
+       "name" (rand-name)
+       "ports" 2
+       "version" "version-does-not-matter"})))
 
 (defn- rand-str
   "Generates a random string with the specified length."

                      assertion-message))
                (assert-request-state grpc-client request-headers service-id correlation-id ::success)))))))))

(deftest ^:parallel ^:integration-slow test-grpc-bidi-streaming-client-cancellation
  (testing-using-waiter-url
    (when (grpc-cancellations-supported? waiter-url)

            [clojure.test :refer :all]
            [clojure.tools.logging :as log]
            [clojure.walk :as walk]
            [plumbing.core :as pc]
            [waiter.correlation-id :as cid]
            [waiter.util.client-tools :refer :all])
  (:import (com.twosigma.waiter.courier
