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