File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change 22# Licensed under the MIT License.
33
44import collections .abc
5+ import http
56import io
67import json
78import types
@@ -52,6 +53,7 @@ class HttpResponse(_abc.HttpResponse):
5253
5354 :param int status_code:
5455 Response status code. If not specified, defaults to 200.
56+ You can use an int status code or an http.HTTPStatus value
5557
5658 :param dict headers:
5759 An optional mapping containing response HTTP headers.
@@ -67,12 +69,16 @@ class HttpResponse(_abc.HttpResponse):
6769
6870 def __init__ (self ,
6971 body : typing .Optional [typing .Union [str , bytes ]] = None , * ,
70- status_code : typing .Optional [int ] = None ,
72+ status_code : typing .Optional [typing .Union [
73+ http .HTTPStatus , int
74+ ]] = None ,
7175 headers : typing .Optional [typing .Mapping [str , str ]] = None ,
7276 mimetype : typing .Optional [str ] = None ,
7377 charset : typing .Optional [str ] = None ) -> None :
7478 if status_code is None :
7579 status_code = 200
80+ if isinstance (status_code , http .HTTPStatus ):
81+ status_code = status_code .value
7682 self .__status_code = status_code
7783
7884 if mimetype is None :
Original file line number Diff line number Diff line change 11# Copyright (c) Microsoft Corporation. All rights reserved.
22# Licensed under the MIT License.
33import sys
4+ import types
45import unittest
6+ from http import HTTPStatus
57from unittest import skipIf
6- import types
8+
79import azure .functions as func
810import azure .functions .http as http
9- from azure .functions ._http import HttpResponseHeaders , HttpRequestHeaders
10-
11+ from azure .functions ._http import HttpRequestHeaders , HttpResponseHeaders
1112from azure .functions .meta import Datum
1213
1314
@@ -178,6 +179,12 @@ def test_http_response_does_not_have_explicit_output(self):
178179 getattr (http .HttpResponseConverter , 'has_implicit_output' , None )
179180 )
180181
182+ def test_http_response_accepts_http_enums (self ):
183+ response = func .HttpResponse (status_code = 404 )
184+ self .assertEquals (response .status_code , 404 )
185+ response = func .HttpResponse (status_code = HTTPStatus .ACCEPTED )
186+ self .assertEquals (response .status_code , 202 )
187+
181188 def test_http_request_converter_decode (self ):
182189 data = {
183190 "method" : Datum ("POST" , "string" ),
You can’t perform that action at this time.
0 commit comments