Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions api_core/google/api_core/gapic_v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@

from google.api_core.gapic_v1 import config
from google.api_core.gapic_v1 import method
from google.api_core.gapic_v1 import routing_header

__all__ = [
'config',
'method',
'routing_header',
]
27 changes: 27 additions & 0 deletions api_core/google/api_core/gapic_v1/routing_header.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2017 Google LLC
#
# 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.

"""Helpers for handling routing header params."""

METADATA_KEY = 'x-goog-header-params'

This comment was marked as spam.



def to_routing_header(params):
"""Returns the routing header string that the params form"""
return "&".join(["{}={}".format(*pair) for pair in params])

This comment was marked as spam.



def to_grpc_metadata(params):
"""Returns the gRPC metadata that the routing header params form"""
return (METADATA_KEY, to_routing_header(params))
29 changes: 29 additions & 0 deletions api_core/tests/unit/gapic/test_routing_header.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2017 Google LLC
#
# 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.


from google.api_core.gapic_v1 import routing_header


def test_to_routing_header():
params = [('name', 'meep'), ('book.read', True)]
value = routing_header.to_routing_header(params)
assert value == "name=meep&book.read=True"


def test_to_grpc_metadata():
params = [('name', 'meep'), ('book.read', True)]
metadata = routing_header.to_grpc_metadata(params)
assert metadata == (
routing_header.METADATA_KEY, "name=meep&book.read=True")

This comment was marked as spam.