diff --git a/wsgi_intercept/__init__.py b/wsgi_intercept/__init__.py
index 08b9a10..c257295 100644
--- a/wsgi_intercept/__init__.py
+++ b/wsgi_intercept/__init__.py
@@ -487,7 +487,7 @@ class wsgi_fake_socket:
                 for data in self.write_results:
                     self.output.write(data)
 
-            if generator_data:
+            if generator_data is not None:
                 try:
                     self.output.write(generator_data)
                 except TypeError as exc:

Write ignores response body when first item in iterable is an empty string
This line has a check for whether the first return value of the application function's returned iterable is falsey: https://github.com/cdent/wsgi-intercept/blob/ac5f41a/wsgi_intercept/__init__.py#L490

```python
try:
    generator_data = None
    try:
        generator_data = next(self.result)

    finally:
        for data in self.write_results:
            self.output.write(data)

    if generator_data:
        try:
            self.output.write(generator_data)
        except TypeError as exc:
            raise TypeError('bytes required in response: %s' % exc)

        while 1:
            data = next(self.result)
            self.output.write(data)

except StopIteration:
    pass
```

I ran into this bug because the first item in my application's returned iterable was an empty bytestring, and this caused the body to be skipped entirely. This seems incorrect, as PEP-3333 includes specific references to empty byte strings being present in the returned iterable.
diff --git a/wsgi_intercept/tests/test_response_headers.py b/wsgi_intercept/tests/test_response_headers.py
index 135983b..448be0f 100644
--- a/wsgi_intercept/tests/test_response_headers.py
+++ b/wsgi_intercept/tests/test_response_headers.py
@@ -28,7 +28,7 @@ class HeaderApp(object):
         for header in self.headers:
             headers.append((header, self.headers[header]))
         start_response('200 OK', headers)
-        return ['']
+        return [b'']
 
 
 def app(headers):
diff --git a/wsgi_intercept/tests/test_wsgi_compliance.py b/wsgi_intercept/tests/test_wsgi_compliance.py
index 9524596..d2443dd 100644
--- a/wsgi_intercept/tests/test_wsgi_compliance.py
+++ b/wsgi_intercept/tests/test_wsgi_compliance.py
@@ -105,3 +105,12 @@ def test_post_status_headers():
             'http://some_hopefully_nonexistant_domain/', 'GET')
         assert app.success()
         assert resp.get('content-type') == 'text/plain'
+
+
+def test_empty_iterator():
+    with InstalledApp(wsgi_app.empty_string_app, host=HOST) as app:
+        http = httplib2.Http()
+        resp, content = http.request(
+            'http://some_hopefully_nonexistant_domain/', 'GET')
+        assert app.success()
+        assert content == b'second'
diff --git a/wsgi_intercept/tests/wsgi_app.py b/wsgi_intercept/tests/wsgi_app.py
index f0c4225..4e9f441 100644
--- a/wsgi_intercept/tests/wsgi_app.py
+++ b/wsgi_intercept/tests/wsgi_app.py
@@ -32,3 +32,8 @@ def post_status_headers_app(environ, start_response):
 
 def raises_app(environ, start_response):
     raise TypeError("bah")
+
+
+def empty_string_app(environ, start_response):
+    start_response('200 OK', [('Content-type', 'text/plain')])
+    return [b'', b'second']

pip install -e .[testing]
parse_log_pytest
requirements.txt
pytest
3.5
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
charset-normalizer==2.0.12
httplib2==0.22.0
idna==3.10
importlib-metadata==4.8.3
iniconfig==1.1.1
packaging==21.3
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
requests==2.27.1
six==1.17.0
tomli==1.2.3
typing_extensions==4.1.1
urllib3==1.26.20
-e git+https://github.com/cdent/wsgi-intercept.git@21276926ff7f9f341c789dc48ddad1ad9785c429#egg=wsgi_intercept
zipp==3.6.0

name: wsgi-intercept
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - charset-normalizer==2.0.12
      - httplib2==0.22.0
      - idna==3.10
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - packaging==21.3
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - requests==2.27.1
      - six==1.17.0
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - zipp==3.6.0
prefix: /opt/conda/envs/wsgi-intercept

wsgi_intercept/tests/test_wsgi_compliance.py::test_empty_iterator
wsgi_intercept/tests/test_wsgi_compliance.py::test_https_in_environ
wsgi_intercept/tests/test_response_headers.py::test_header_app wsgi_intercept/tests/test_response_headers.py::test_encoding_violation wsgi_intercept/tests/test_wsgi_compliance.py::test_simple_override wsgi_intercept/tests/test_wsgi_compliance.py::test_simple_override_default_port wsgi_intercept/tests/test_wsgi_compliance.py::test_more_interesting wsgi_intercept/tests/test_wsgi_compliance.py::test_script_name wsgi_intercept/tests/test_wsgi_compliance.py::test_encoding_errors wsgi_intercept/tests/test_wsgi_compliance.py::test_post_status_headers
wsgi_intercept/__init__.py
wsgi_intercept/__init__.py