• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?php
2/*
3 *
4 * Copyright 2020 gRPC authors.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 */
19
20namespace Grpc;
21
22/**
23 * This is an experimental and incomplete implementation of gRPC server
24 * for PHP. APIs are _definitely_ going to be changed.
25 *
26 * DO NOT USE in production.
27 */
28
29/**
30 * Class Status
31 * @package Grpc
32 */
33class Status
34{
35    public static function status(int $code, string $details, array $metadata = null): array
36    {
37        $status = [
38            'code' => $code,
39            'details' => $details,
40        ];
41        if ($metadata) {
42            $status['metadata'] = $metadata;
43        }
44        return $status;
45    }
46
47    public static function ok(array $metadata = null): array
48    {
49        return Status::status(STATUS_OK, 'OK', $metadata);
50    }
51    public static function unimplemented(): array
52    {
53        return Status::status(STATUS_UNIMPLEMENTED, 'UNIMPLEMENTED');
54    }
55}
56