Net::HTTP does not allow buffer size to be overridden in subclass [rt.cpan.org #25069]
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- perl
- Área
- networking
Línea de trabajo
Comienza rastreando read_response_headers() a través de my_readline() y la llamada a sysread() descrita en el issue, incluido el tamaño de 1024 bytes codificado de forma fija. El trabajo estará terminado cuando el tamaño del búfer se pueda configurar o el helper de lectura se pueda sobrescribir limpiamente mediante una subclase sin duplicar read_response_headers().
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Migrated from rt.cpan.org#25069 (status was 'open')
Requestors:
From [email protected] on 2007-02-21 22:00:19:
In Net::HTTP, read_response_headers() uses the function my_readline() to do it's dirty-work.
Under the hood, my_readline() calls sysread() with a HARD-CODED size of 1024. Ideally, this
should be an option, or otherwise parameterized. Alternately, it would make sense to
replace my_readline() in a subclass, but this is impossible since it is called as a function. One
would need to replace read_response_headers() entirely in a subclass if one wanted to
change the behavior here (to capture a larger buffer in the first read, cutting down on
latency.) Alternately, one could redefine the my_readline() function. The last two options are
terrible designs, since they involve cloning the existing code and replacing only a small bit,
and may result in future incompatibilities.
my $n = $self->sysread($_, 1024, length);
I suggest you expose or otherwise parameterize this currently hard-coded value.
Here is my current (nasty) workaround in a subclass:
package MyNetHTTP;
use base 'Net::HTTP';
sub my_sysread {
my $self = shift;
$_[1] = $READ_BUFFER_LENGTH;
$self->SUPER::sysread(@_);
}
sub read_response_headers {
my $self = shift;
local *sysread = *my_sysread;
$self->SUPER::read_response_headers( @_ );
}
From [email protected] on 2017-01-25 21:40:44:
migrated queues: libwww-perl -> Net-HTTP
- Lenguaje dominante
- Perl
- Estrellas
- 20
- Forks
- 27
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de libwww-perl/Net-HTTP
-
Dificultad 4/5 3-5 días Aptitud para principiantes 50/100
libwww-perl/Net-HTTP#99 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
libwww-perl/Net-HTTP#95 ·
-
t/live.t may failAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
libwww-perl/Net-HTTP#87 · 2 comentarios ·
-
Improve error messageAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
libwww-perl/Net-HTTP#79 · 6 comentarios ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 48/100
libwww-perl/Net-HTTP#74 ·
Todos los issues de libwww-perl/Net-HTTP
Issues similares
-
wave-followup
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
benchmarks/README: 'perl BNG2.pl model.bngl' runs the whole protocol, not just generate_networkAbiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
virtualmin/virtualmin-gpl#1322 ·
-
`singletitle`/`uniquetitle`/`uniquework` only ignore entries whose `options` field contains the literal token `skipbib`; `skipbib=true` and `dataonly` still countPosiblemente ocupada @plk la tomó hace 1 día. AbiertoBug fixedindev
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
easy first-contributor first-contributors good first issue help wanted perl shell up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
fork-commit-merge/fork-commit-merge#8461 ·
Los mantenedores suelen responder en 1 día