github.com/SmartMeshFoundation/Spectrum@v0.0.0-20220621030607-452a266fee1e/rpc/errors.go (about)

     1  // Copyright 2015 The Spectrum Authors
     2  // This file is part of the Spectrum library.
     3  //
     4  // The Spectrum library is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Lesser General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // The Spectrum library is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  // GNU Lesser General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Lesser General Public License
    15  // along with the Spectrum library. If not, see <http://www.gnu.org/licenses/>.
    16  
    17  package rpc
    18  
    19  import "fmt"
    20  
    21  // request is for an unknown service
    22  type methodNotFoundError struct {
    23  	service string
    24  	method  string
    25  }
    26  
    27  func (e *methodNotFoundError) ErrorCode() int { return -32601 }
    28  
    29  func (e *methodNotFoundError) Error() string {
    30  	return fmt.Sprintf("The method %s%s%s does not exist/is not available", e.service, serviceMethodSeparator, e.method)
    31  }
    32  
    33  // received message isn't a valid request
    34  type invalidRequestError struct{ message string }
    35  
    36  func (e *invalidRequestError) ErrorCode() int { return -32600 }
    37  
    38  func (e *invalidRequestError) Error() string { return e.message }
    39  
    40  // received message is invalid
    41  type invalidMessageError struct{ message string }
    42  
    43  func (e *invalidMessageError) ErrorCode() int { return -32700 }
    44  
    45  func (e *invalidMessageError) Error() string { return e.message }
    46  
    47  // unable to decode supplied params, or an invalid number of parameters
    48  type invalidParamsError struct{ message string }
    49  
    50  func (e *invalidParamsError) ErrorCode() int { return -32602 }
    51  
    52  func (e *invalidParamsError) Error() string { return e.message }
    53  
    54  // logic error, callback returned an error
    55  type callbackError struct{ message string }
    56  
    57  func (e *callbackError) ErrorCode() int { return -32000 }
    58  
    59  func (e *callbackError) Error() string { return e.message }
    60  
    61  // issued when a request is received after the server is issued to stop.
    62  type shutdownError struct{}
    63  
    64  func (e *shutdownError) ErrorCode() int { return -32000 }
    65  
    66  func (e *shutdownError) Error() string { return "server is shutting down" }