crosslink

package
v0.0.0-...-1826292 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

* Copyright 2018 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.

* Copyright 2018 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.

* Copyright 2018 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.

* Copyright 2018 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.

Index

Constants

View Source
const (
	TAG_PATH            = "path"
	TAG_LEAF            = "leaf"
	TAG_PATH_MATCH_KIND = "matchKind"

	PATH_MATCH_KIND_EXACT = "E"
	PATH_MATCH_KIND_HEAD  = "H"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Crosslink interface {
	Call(path string, obj any, tags map[string]string, cb func([]byte, error))
}
func NewCrosslink(jsName string, handler Handler) Crosslink

type Handler

type Handler interface {
	Serve(dataRaw []byte, tags map[string]string, writer ResponseWriter)
}

func NewFuncHandler

func NewFuncHandler[T any](f func(param *T, tags map[string]string, writer ResponseWriter)) Handler

type MultiPlexer

type MultiPlexer interface {
	Handler
	SetHandler(pattern string, handler Handler)
	SetDefaultHandler(handler Handler)
}

func NewMultiPlexer

func NewMultiPlexer() MultiPlexer

type ResponseWriter

type ResponseWriter interface {
	ReplySuccess(response any)
	ReplyError(message string)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL