disposition-type *( ";" parameter )
(value)
| 2707 | return ctype |
| 2708 | |
| 2709 | def parse_content_disposition_header(value): |
| 2710 | """ disposition-type *( ";" parameter ) |
| 2711 | |
| 2712 | """ |
| 2713 | disp_header = ContentDisposition() |
| 2714 | if not value: |
| 2715 | disp_header.defects.append(errors.HeaderMissingRequiredValue( |
| 2716 | "Missing content disposition")) |
| 2717 | return disp_header |
| 2718 | try: |
| 2719 | token, value = get_token(value) |
| 2720 | except errors.HeaderParseError: |
| 2721 | disp_header.defects.append(errors.InvalidHeaderDefect( |
| 2722 | "Expected content disposition but found {!r}".format(value))) |
| 2723 | _find_mime_parameters(disp_header, value) |
| 2724 | return disp_header |
| 2725 | disp_header.append(token) |
| 2726 | disp_header.content_disposition = token.value.strip().lower() |
| 2727 | if not value: |
| 2728 | return disp_header |
| 2729 | if value[0] != ';': |
| 2730 | disp_header.defects.append(errors.InvalidHeaderDefect( |
| 2731 | "Only parameters are valid after content disposition, but " |
| 2732 | "found {!r}".format(value))) |
| 2733 | _find_mime_parameters(disp_header, value) |
| 2734 | return disp_header |
| 2735 | disp_header.append(ValueTerminal(';', 'parameter-separator')) |
| 2736 | disp_header.append(parse_mime_parameters(value[1:])) |
| 2737 | return disp_header |
| 2738 | |
| 2739 | def parse_content_transfer_encoding_header(value): |
| 2740 | """ mechanism |
nothing calls this directly
no test coverage detected